MySQL не возвращает правильный знак фунта
Я использую WAMP 3.0.6 с MySQL 5.7.14. ВСЕ использует набор символов UFT-8.
У меня есть данные в поле "1£1" (то есть 1 (фунт) 1).
Я проверил на сервере (мой) и значение Hex для поля: 31 C2 A3 31. Это правильно.
Я запускаю Query локально, и он возвращает правильные данные с C2 A3 в качестве знака фунта.
Я запускаю запрос в PHP, и он возвращает только A3, Hex - 31, A3 31. Это заставляет знак фунта быть черным знаком вопроса.
Если я запускаю echo pack ("C*",194,163); в PHP я получаю правильный знак фунта.
Итак, чтобы уточнить: MySQL содержит правильные данные. Запрос на сервере возвращает правильные данные. PHP через веб-страницу будет отображать правильный знак фунта из шестнадцатеричного числа. php.ini установлен для UFT-8. База данных MySQL установлена для UFT-8. HTML установлен для UFT-8. PHP установлен для UFT-8. PHP-запрос НЕ получает правильные данные.
У кого-нибудь есть идеи? Я все вне.
1 ответ
Я нашел ответ:
Мне нужно было поставить $mysqli->set_charset("utf8"); в начале кода можно предположить, что соединение также находится в наборе символов UTF-8.
$ mysqli - строка, содержащая данные "new mysqli()".