【发布时间】:2012-12-02 10:53:50
【问题描述】:
error_reporting(E_ALL);ini_set('display_errors', true);ini_set('log_errors', true);
当我从浏览器运行脚本时,一切都按预期进行,没有错误。从 Linux 控制台运行它时也是如此。但是,当我从 Windows 命令提示符运行完全相同的脚本时,尝试将一些记录插入数据库时出现错误。显然,这些错误与 Unicode 字符有关:
Incorrect string value: \'\\xC5 ANA\' for column \'name\' at row 1
Windows 控制台输出:IZP─ĆRDO┼ ANA
但实际的文字是:IZPĀRDOŠANA。
可能是什么原因造成的以及如何解决? Windows 命令提示符如何影响正在处理的数据?
【问题讨论】:
-
可能是 Windows 控制台显示输出的字体的问题。您可以将 Windows 控制台字体设置为 Lucida 控制台。该字体应该能够处理宽/unicode字符。
-
我不是在问它如何显示字符...
-
显示您用于插入的代码以及脚本的输入艺术。
-
您在服务器日志中看到错误了吗?
-
我当然会在错误日志中看到它们。代码不是问题,它是一个使用参数执行的简单 PDO PreparedStatement。我只是问如果从另一个网站下载数据,而不是从 cmd args 获取,Windows 控制台如何影响数据。
标签: php unicode windows-console