Mailinglisten-Archive |
Hallo Michael, Am Donnerstag, 19. Juli 2007 schrieb Michael Borchers: > > Hallo Michael, > > > > Am Donnerstag, 19. Juli 2007 schrieb Michael Borchers: > >> Aus MySQL5 (Kollation latin1_german1_ci) heraus erhalte ich Namen > >> mit Umlauten. Diese werden dann via json_encode() weitergereicht. > >> Dabei werden die Namen nach den Umlauten abgeschnitten ('foö' => > >> 'fo'). > >> > >> Sicherlich muss ich die auf UTF8 kodieren, oder? > >> > >> Würde das gerne ausserhalb von php direkt mit MySQL machen, wie > >> wäre die richtige Syntax dann für SELECT name FROM ... - irgendwas > >> mit USING utf8? > > > > guckst Du hier: > > http://dev.mysql.com/doc/refman/5.1/de/charset-convert.html > > > > :-) > > > > Eventuell mußt Du noch den Verbindungszeichensatz etc. beachten. > > Ok, jetzt habe ich z.B. den namen 'pütz' aus der DB. Wenn ich diesen > String nach json_encode() erhalte ich nur noch 'p'. > Wie muss ich den String konvertieren, damit json die Umlaute nicht > mehr abschneidet? Du mußt die Zeichenkette für JSON in UTF-8 formatieren. Offensichtlich kommt sie bei Dir bei json_encode() immer noch in ISO-8859-1 an. Siehe auch den zeitlich ersten Kommentar ganz unten auf der Seite im Handbuch: http://de2.php.net/manual/de/function.json-encode.php#69393 Du mußt jetzt also mal gucken, wo Du die Daten in welchem Zeichensatz vorliegen hast. Viele Grüße Lutz
php::bar PHP Wiki - Listenarchive