Проблема с символами в MySQL -> Php -> HTML - PullRequest
1 голос
/ 26 мая 2011

У меня есть некоторый текст в таблице данных, который содержит этот символ: "•"

Когда я смотрю на текст из phpMyAdmin, он выглядит хорошо, что означает, что правильный символ находится в данных, но еслиЯ запрашиваю его с помощью PHP и echo, даже если я использую htmlentities, он будет выглядеть как странный квадрат в IE и как � в Chrome.

У меня та же проблема с этими двумя символами: «и»

Что я делаю неправильно?

Редактировать: Я только что попробовал utf8_encode ипо крайней мере, уродливые персонажи исчезают, но это все еще не то, что я хочу.Кодировка моей страницы - это utf8, такая же, как кодировка страницы phpMyAdmin.Должен быть способ показать это правильно, потому что phpMyAdmin это делает

Ответы [ 3 ]

1 голос
/ 26 мая 2011

Я бы рекомендовал использовать этот запрос после подключения к базе данных:

mysqli_query($this->conn, 'SET NAMES \'utf8\'');

$this->conn - это ваше подключение к базе данных.

дополнительная информация о SET NAMES 'utf8' можно получить из Справочное руководство по MySQL, глава 9.1.4

0 голосов
/ 26 мая 2011

Что такое кодирование данных в MySQL?Php пока не поддерживает сырой Unicode.

0 голосов
/ 26 мая 2011

Это проблема кодировки, ваша кодировка страницы может отличаться от кодировки базы данных.либо установите для базы данных и страницы одинаковую кодировку, либо используйте функцию, например, utf8_encode ($ variable) или utf8_decode

Edit: попробуйте добавить AddDefaultCharset UTF-8 в htaccess

...