2017-02-14 21 views
0

Ich habe ein Problem "€" in meinem HTML-Anzeige ...UTF8 Encode/€

  1. Mein Datenbankfeld Sortierungs hat "utf8_general_ci"
  2. Ich hole die Daten so in ein Javascript-Variable:

    $ query = mysqli_query ($ con, "SELECT * FROM Tabelle WHERE Id = '1'"); $ data = mysqli_fetch_assoc ($ query);

    $data = json_encode(utf8_encode(($data["Field"]))); 
    

Wie ich $ data echo wollen ... ich Umlaute "ÄüÖü" und andere Zeichen wie "‘, # @ &" sehen usw., aber ich sehe nicht die SIGN ..... es wird als angezeigt? (Nicht das in einem Rechteck ... nur eine normale ?)

Kann jemand bitte helfen?

Btw, das ist mein Kopf:

header("Content-Type: text/html; charset=utf-8"); 
+1

Was soll die 'json_encode' /' utf8_encode' Kombination tun? Wenn Ihre Datenbank bereits mit Unicode-Zeichen arbeiten sollte, warum sollten Sie diesen Schritt durchführen? – mario

+0

Ich nehme diese PHP-Variable und übergebe es an eine Javascript-Variable, ohne die Codierung funktioniert mein Code nicht. So funktioniert es – Inkperial

+0

Der "funktioniert nicht" -Teil wird durch Ihr Ergebnis verursacht nicht UTF-8-Zeichenfolgen zurückgeben. Und weißt du was, Latin-1 enthält nicht das Euro-Zeichen. – mario

Antwort

1

s codierte UTF-8. Sie sollten eine entsprechende Option im Dialogfeld "Speichern unter" Ihres Editors oder Ihrer IDE haben.

Dann stellen Sie sicher, dass Ihre Verbindung auch UTF-8 codiert ist - es ist standardmäßig ISO-8859-1.

Nach der Verbindung zur Datenbank, für mySQL vor 5.0.7:

mysql_query ("NAMES utf8 SET"); Für mySQL 5.0.7 und neuer:

mysql_set_charset ("utf8");

+0

Wenn ich das tue, wird "Üß" als "Ü" angezeigt und ich sehe auch das € nicht. – Inkperial