невозможно отобразить китайские символы в error_log

#utf-8 #stdout #php-7.2

#utf-8 #стандартный вывод #php-7.2

Вопрос:

У меня есть php-скрипт, который загружает китайские символы в стандартный вывод через error_log. Это выглядит так:

error_log(">>>>>>>>>>article imported: ". $node->title ."(".$node->nid.")");

но это то, что я получаю

>>>>>>>>>>article imported: xe5x88xa9xe7x89xa9xe6xb5xa6xe5x86x8dxe5x90x9exe5xa4xaaxe5xa6x83xe7xb3x96(934909)

Честно говоря, я не уверен, что я мог бы сделать, поскольку я уже установил заголовки header("Content-Type: text/plain; charset: UTF-8"); в верхней части файла. Попытался обернуть оба $node-> title в utf8_encode or utf8_decode также не работает. Что еще я могу сделать, чтобы обеспечить правильную передачу сообщений китайского журнала в стандартный вывод?

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

1. Является ли ведение журнала буквально «обратная косая черта eks eeh пять …», или это просто то, что отображает любой инструмент, который вы используете для чтения файла журнала …? Используйте шестнадцатеричный редактор, чтобы просмотреть необработанные байты в файле журнала.

2. он передается в стандартный вывод и не был сохранен ни в один файл журнала, поэтому я не уверен, какой шестнадцатеричный редактор я могу использовать

3. Тогда, возможно, ваш терминал просто неправильно интерпретирует его.

4. и я только что попытался добавить error_log("Test Chinese Characters: 廖刚征"); , отображается как Test Chinese Characters: xe5xbbx96xe5x88x9axe5xbex81 в консоли docker logs

5. Таким образом, консоль неправильно обрабатывает вывод UTF-8. Вам нужно будет рассказать нам больше о том, какую консоль вы используете, как / где / почему.