Акцентные символы приводят к сбою автономного интерпретатора PHP
У меня есть PHP-скрипт, который запускается через командную строку и автономный интерпретатор PHP. Скрипт выводит много html-кода в CSV-файл, который позже загружается на сайт WP.
Акцентные символы, похоже, приводят к сбою интерпретатора. пример:
$output = "Não encontrou o que você está procurando?";
$english = "Did not find what you're looking for?";
Всякий раз, когда я пытаюсь манипулировать строкой $output
, в CSV-файл ничего не выводится, но если вместо этого я использую перевод $english, все работает отлично.
Я уверен, что это как-то связано с переводчиком не используется кодировка UTF-8, но я не могу понять, как это исправить.
Я пробовал:
- Отдельный PHP.INI-файл с:
default_charset = utf-8
- Первая строка сценария:
ini_set('default_charset', 'UTF-8');
- Убедился, что мой редактор кода (контекст) сохранялся в формате юникода.
- Погуглил все, что я мог придумать за последний час
Я знаю, что мог бы разбить строку на ее html-сущности (ã= ã), но я бы предпочел этого не делать, потому что их будет много из этих строк, и некоторые из них будут время от времени меняться.
Есть ли какое-либо другое решение для того, чтобы заставить интерпретатор PHP анализировать символы с ударением, не взрываясь?
1 answers
Я нигде не использовал utf8_encode()
. Как только я добавил это, все сработало отлично.
$output = "Não encontrou o que você está procurando?";
$output = utf8_encode($output); // THIS FIXED IT
$english = "Did not find what you're looking for?";