phpbar.de logo

Mailinglisten-Archive

[php] PHP/MySQL - Collate der Verbindung ändern

[php] PHP/MySQL - Collate der Verbindung ändern

Tim Hildebrandt TConnect at gmx.net
Don Jan 24 15:21:11 CET 2008


Hallo zusammen,

ich habe eine kleine Applikation, bei der ich Daten aus einer
Datenbank-Tabelle auslese und als XML Datei speichere. Die Erzeugung der
XML-Datei mache ich via simpleXML. Beim Update meines XAMPP Systems
funktioniert der Befehl


$myObject->addChild("name", utf8_encode($value));

// wobei $value eine Spalte au seiner ausgelesenen DB-Tabelle ist.


Nicht mehr und wirft mir die Fehlermeldung "unterminated entity
reference". Ich habe mittlerweile mal nachgeschaut und bin der Ansicht,
dass bei der Generierung des XML-Tags noch unerlaubte Sonderzeichen
vorhanden sind. Was mich stutzig macht ist, dass das selbe Script auf
meinem alten System tadellos funktioniert. Also habe ich die Idee, dass
mir der MySQL Server die Daten vielleicht schon im UTF-8 Format
liefert... Die Tabellen/Spalten sind aber alle auf "latin1_gerneral_ci"
gestellt. Wenn ich einfach testweise mal schreibe:

$value = utf8_decode($value);
$myObject->addChild("name", utf8_encode($value));


Um zu testen, was da so in Value ankommt, funktioniert das Script
wieder!


Ich weiß, dass man auch für die SQL-Verbindung selbst eine Kollation
auswählen kann, finde das aber gerade nicht wieder, wie ich das
konfigurieren kann. Wie kann ich MySQL also anweisen, auch die zurück
gelieferten Daten gleich in latin1_general_ci und nicht in utf_8 zu
liefern?

Hat jemand einen Tipp für mich?



Schöne Grüße
Tim


php::bar PHP Wiki   -   Listenarchive