utf8_encode nicht produzieren richtige Ergebnis

Mein problem ist Folgendes:

Speicher ich ein array, das hat Tasten wie "e", "f", etc. Irgendwann, habe ich, um den Wert des Schlüssels. Dies funktioniert sehr gut. Aber wenn ich Sie speichern möchten, "í", "é", etc. als der Schlüssel, wird es nicht produzieren, das Ergebnis (Ergebnisse in �). Meine Seite ist in UTF-8. Die Suche des Problems fand ich heraus, dass utf8_encode sollte helfen mein problem. Es hat nicht: obwohl es produziert mehr lesbaren Zeichen, es noch völlig unterschieden von dem, was ich will. Wenn wichtig, phpinfo gibt:

Directive   Local Value Master Value
iconv.input_encoding    ISO-8859-1  ISO-8859-1
iconv.internal_encoding ISO-8859-1  ISO-8859-1
iconv.output_encoding   ISO-8859-1  ISO-8859-1

Was könnte helfen das problem?

Bearbeiten: ich denke, dass die array-keys machen, einige Daten verloren gehen. Ist es wahr? Wenn ja, wie verhindern?

Edit2: Lösungen, die ich bisher ausprobiert habe: Holen Sie sich die array Schlüssel-Wert - ausgefallen; ein array mit den entsprechenden Tasten, werden aber Werte von utf-8-Zeichen: fehlgeschlagen; utf8_encode fehlgeschlagen; [versucht mit beiden] iconv_set_encoding: fehlgeschlagen; ini_set fehlgeschlagen; mb_internal_encoding gescheitert. Alle zurückgegeben, die entweder mit oder à �.

Ihr Ausgang könnte ISO-8859-1 codiert entsprechend dieser Einstellungen. Das ist völlig unabhängig von utf8_encode. Überprüfen Sie mit Ihrem browser die Codierung gilt.
Ja, der Ausgang scheint ISO-8859-1 irgendwie. Wie kann ich das beheben, ohne Bearbeitung php.ini?
Gesendet, ein header, der signalisiert, dass. Deaktivieren Sie die "iconv" - Ausgabe-Kodierung, als auch, wenn Sie nicht wissen, was das ist, brauchst du den gar nicht. Überprüfen Sie die PHP-Anleitung, wie man das ändern kann zur Laufzeit. Viel Glück!
Ich habe das senden der header. Das problem war, dass der browser interpretiert die ISO-8859-1 UTF-8. Ich konnte nicht herausfinden, wie zu deaktivieren Sie die iconv-Laufzeit. 🙁
Nein, die Tasten strings (naja, oder numerischen Typen). PHP-strings sind byte-arrays und haben keine zugeordneten Codierung. Das ändert sich nicht, wenn Sie als array-Schlüssel. Wenn der string in UTF-8 kodiert, der Schlüssel ist UTF-8 kodiert.

InformationsquelleAutor axiomer | 2012-02-11

Schreibe einen Kommentar