[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