2017-02-14 3 views
0

У меня есть проблема, отображающая «€» в моем HTML ...UTF8 Encode/€

  1. Моего поля базы данных имеют параметры сортировки «utf8_general_ci»
  2. Я Извлекает данные, такие как, что в яваскрипт переменный:

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

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

Как я хочу повторить $ данных ... Я получаю Умляуты см «ÄüÖü» и другие символы, такие как «», # @ &»и т.д., НО Я НЕ ВИЖУ SIGN ..... он отображается как ? (Не то, что в прямоугольнике ... просто нормально ?)

Может кто-нибудь помочь?

Btw, что мой заголовок:

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

Что должно делать комманда 'json_encode' /' utf8_encode'? Если ваша база данных должна была работать с символами Unicode, почему этот шаг кодирования? – mario

+0

Я беру эту переменную php и передаю ее переменной javascript, без кодировки мой код не работает. Таким образом, он работает – Inkperial

+0

Часть «не работает» вызвана тем, что ваш результат не возвращал строки UTF-8. И вы знаете, что, Latin-1 не содержит знак Euro. – mario

ответ

1

сек закодированный UTF-8. У вас должен быть такой вариант в диалоговом окне «Сохранить как» в редакторе или в среде IDE.

Затем убедитесь, что ваше соединение кодируется также в кодировке UTF-8 - по умолчанию это ISO-8859-1.

После подключения к базе данных, для баз данных, прежде чем 5.0.7:

mysql_query ("SET NAMES utf8"); Для mySQL 5.0.7 и новее:

mysql_set_charset ("utf8");

+0

Если я так делаю, он отображает «Üß» как «Ã¼Ã», и я не вижу этого. – Inkperial