<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p>Hi!</p>
<p><br>
</p>
<p>For issue <a moz-do-not-send="true" href="https://github.com/osm-search/Nominatim/issues/967">#967</a>,
These are some points I found so far:</p>
<p> In Geocode.php lookup(),<br>
</p>
<p>1) The sNormQuery is made by using PHP's Transliterator.</p>
<p>2) The normalization method make_standard_name is used on phrases
in line 630. This is an sql function which returns
trim(public.gettokenstring(public.transliteration(name))).</p>
<p> We need to replace %09-%0d characters in phrases. This can be
done simply by adding<br>
</p>
<p> $sPhrase =
preg_replace('/[\x09|\x0a|\x0b|\x0c|\x0d]/', ' ', $sPhrase);</p>
<p> before normalization function is called.</p>
<p>3) Other solution would be to change normalization(breaks the
DB). The transliteration() uses the utfasciitable.h</p>
<p> Changing UTFASCIILOOKUP by replacing 9-13 th position
elements by '2' does the job.</p>
<p><br>
</p>
<p>I have tested both the ways, and both seem to work as expected.
What should I do now?</p>
<p><br>
</p>
<p>Regards,</p>
<p><br>
</p>
<p>Rahul<br>
</p>
</body>
</html>