echo и UTF-8 (PHP)

#php #utf-8

#php #utf-8

Вопрос:

Я установил Apache на свой сервер (я не использовал Apache), и специальные символы начали отображаться неправильно.

Итак, я изменил каждый файл на UTF-8, настроил MySQL для работы с UTF-8, и все работало нормально. Однако мое приложение на Python (которое извлекает некоторую информацию с веб-сайта) не работает должным образом.

Например, у меня был файл «test.php «который вернул либо 0, либо 1. Затем код Python сделал с этим результатом все, что угодно.

Но теперь мое приложение на Python не получает «0», я не знаю, что оно получает с веб-сайта. Я заставил приложение отправить запрос GET на мой сайт с тем, что оно получало, и оно отправило мне это: «???0».

Что я могу сделать? Я попытался изменить заголовок, чтобы отправить результат как ISO-8859-1 (как это было раньше), но тоже не работает.

Комментарии:

1. как насчет того, чтобы показать нам код, который генерирует этот странный ответ? И проверка этого исходного файла на наличие странных символов?

2. if (mysql_num_rows($mixIDq) > 0) { $mixinfo = mysql_fetch_assoc($mixIDq); $mixID = $mixinfo[‘mix_id’]; $mix = новый микс ($mixID); $team = $mix-> getTeamFromSteam($stmid); $team = 2; echo $ team; } else { echo «0»; }

3. Включена ли метка порядка байтов (BOM) в каком-либо из ваших файлов? Это может включать один странный символ перед любым другим выводом.

4. Это код, вот почему я сказал, что он действительно странный. Я просто повторяю «0» или другой результат

5. попробуйте принудительно сохранить исходный файл в текстовом редакторе без спецификации .

Ответ №1:

Это символ спецификации. Удалите этот символ из скрипта в редакторе Notepad (Меню -> Кодировка -> Кодировать в UTF-8 без спецификации).