php - PHP 错误记录:为什么西里尔字符在日志文件中进行十六进制编码以及如何防止它?
问题描述
我没能找到答案。在尝试打击某些垃圾邮件时,我注意到所有西里尔字符(例如俄语)都被转义并在 PHP 错误日志文件中进行了十六进制编码。
我在问为什么,但常见的逻辑和初步推理表明这很可能是因为服务器日志文件是 ASCII / ANSI 格式,因此信息会丢失。
但是,我们可以将日志文件更改为 UTF-8 并以某种方式防止这种情况发生吗?如果可能,我需要更改哪些配置文件?谢谢
演示代码:
$s = 'Якс';
error_log($s); // outputs: \xd0\xaf\xd0\xba\xd1\x81
解决方案
推荐阅读
- javascript - 无法从 db 渲染我的对象 - “对象不可迭代”
- android - 如何在flutter中使用存储权限?
- typescript - Vue Ruter 4 没有重载匹配这个调用。重载 1 of 3,给出以下错误
- javascript - 这个 clickHandler() 中的嵌套函数会是什么样子?
- terraform - 地形模块
- r - 用 smooth.spline 过冲
- python - 使用循环查找图中的所有连接节点
- html - CSS中隐藏子div时如何动态调整div的大小?
- javascript - Express/Mongoose - 错误:传入的参数必须是 12 个字节的单个字符串
- html - 可调 Forloop 范围 - HTML