首页 > 解决方案 > PHP 错误记录:为什么西里尔字符在日志文件中进行十六进制编码以及如何防止它?

问题描述

我没能找到答案。在尝试打击某些垃圾邮件时,我注意到所有西里尔字符(例如俄语)都被转义并在 PHP 错误日志文件中进行了十六进制编码。

我在问为什么,但常见的逻辑和初步推理表明这很可能是因为服务器日志文件是 ASCII / ANSI 格式,因此信息会丢失。

但是,我们可以将日志文件更改为 UTF-8 并以某种方式防止这种情况发生吗?如果可能,我需要更改哪些配置文件?谢谢

演示代码:

$s = 'Якс';
error_log($s); // outputs: \xd0\xaf\xd0\xba\xd1\x81

标签: phploggingcyrillic

解决方案


推荐阅读