Php 命令行中瑞典字符的utf8问题
我有一个脚本,它从数据库中获取字符串,将其拆分为单词,然后将单词写入数据库。当我通过http(使用ApacheWeb服务器)调用脚本时,它工作得非常好。它还可以从windows命令行运行它。然而,当我试图在ubuntu中从命令行(shell)运行它时,数据库中所有的瑞典字符都被AAO替换。很奇怪Php 命令行中瑞典字符的utf8问题,php,mysql,apache,encoding,utf-8,Php,Mysql,Apache,Encoding,Utf 8,我有一个脚本,它从数据库中获取字符串,将其拆分为单词,然后将单词写入数据库。当我通过http(使用ApacheWeb服务器)调用脚本时,它工作得非常好。它还可以从windows命令行运行它。然而,当我试图在ubuntu中从命令行(shell)运行它时,数据库中所有的瑞典字符都被AAO替换。很奇怪 apache在告诉php什么,我需要在从命令行运行时自己告诉它?可能ubuntu不接受这种东西。是否尝试安装一个插件 这并不奇怪,因为几乎所有的命令行都有一些特殊字符的问题。你确定你真的需要吗?难道没有
apache在告诉php什么,我需要在从命令行运行时自己告诉它?可能ubuntu不接受这种东西。是否尝试安装一个插件 这并不奇怪,因为几乎所有的命令行都有一些特殊字符的问题。你确定你真的需要吗?难道没有其他的写作方法吗?我不知道,因为我不是瑞典人
Apache和PHP只支持这种字符,,,没有什么可说的了MySQL处理客户端编码。将客户端字符集设置为UTF-8或数据库的字符集可以解决您的问题。您可以将phpinfo()放在脚本顶部,以打印所有环境变量、配置设置、,等等。比较在命令行上运行与在apache下运行时的输出。通常,通过命令行运行时会使用不同的
php.ini
文件。检查是否有,以及它们之间的区别。我没有从命令行输入任何内容,我只是从那里执行脚本。我想让它从命令行运行的原因是我想从cron运行它。执行和输入会给你(几乎)相同的输出。这样做,两者都是utf8,但没有帮助。很棒的提示!有很多不同之处。例如,LANG在命令行上设置为en_US.UTF-8。apache中有以下内容:_SERVER[“HTTP_ACCEPT_LANGUAGE”]en-US,en;q=0.8_服务器[“HTTP_接受_字符集”]ISO-8859-1,utf-8;q=0.7,*;q=0.3