[opengeodb] Hövelhof fehlt in der Datenbank
Klaus Schmidt
hunter at geohunting.de
Die Dez 5 10:20:59 CET 2006
> Unter der Nummer 18467 gibt es den Eintrag für Hövelhof.
>
> http://opengeodb.hoppe-media.com/examples/location.php?id=18467
>
> Es scheint ein Problem mit den Umlauten zu geben, daher wird die
> Gemeinde (und
> viele andere auch) nicht gefunden.
>
> Gruß
> Jesper
Ich hab mir auf www.geohunting.de wie folgt geholfen (PLZ/Ortsuche)
Die DB und die textfelder laufen auf 'utf8_general_ci'
Der Import wurde mit
mysql> use opengeodb [enter]
Database changed
\. opengeodb-0.2.4d-UTF8-mysql.sql [enter]
eingelesen.
Die Anweisungen 'SET NAMES 'utf8';' am Anfang des SQL und 'CHARACTER SET
utf8' in jedem CREATE TABLE bei dem Original-SQL der OpenGeoDB
entsprechen zumindestens dem jetzigen Export. Hier scheint alles ok.
die Seite wird mit
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
erzeugt
Das lesen zwar nicht alle Browser wirksam aus, aber es bewirkte, dass
die Umlaute im Suchfeld sauber eingegeben und angezeigt werden können
durch
echo '<input style="width:200px;" type="text" name="q"
value="'.$_GET["q"].'">';
Der Inhalt von .$_GET["q"] geht auch ohne Konvertierung in die Query
und liefert bei Umlauten ein Ergebnis
welches allerdings bzgl. der Textfelder bei der Ausgabe mit z.B.
htmlentities($ort->dbValues['name']); konvertiert wird.
- Fast alle Textfelder (brummel) nur auf der Hierachieebene 'Nation'
Brauche ich 'Österreich' nicht konvertieren (der db-Output geht so
wieder raus); - dagegen muss ich aber das Bundesland 'Niederösterreich'
sehrwohl durch htmlentities() schicken.
Da beide aus geodb_textdata.text_val kommen, ist das seltsam, aber man
kann damit leben.
Ich hoffe es hilft Euch
Gruß
Klaus