生产服务器(这是正确的行为)
>>> $str = "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý";
=> "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý"
>>> strtoupper($str);
=> "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý"
>>> mb_strtoupper($str);
=> "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ"
新的本地环境
>>> $str = "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý";
=> "àáâãäåæçèéêëìíîïðñòóôõöøùúûüý</string>"
>>> strtoupper($str);
=> "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ</string>"
>>> mb_strtoupper($str);
=> "ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝ</string>"
我在互联网上找不到关于变量末尾的</string>
的任何内容。
iconv
函数
生产服务器
>>> iconv('UTF-8', 'ASCII//TRANSLIT', 'áè');
=> "ae"
新的本地环境
>>> iconv('UTF-8', 'ASCII//TRANSLIT', 'áè');
=> "'a`e"
我按照this answer中的PHP
说明但没有运气,我忽略了MySQL
,因为我没有使用它,因为我有Nginx,所以我也忽略了Apache。
我开始认为这是因为mbstring扩展但无法找到与之相关的任何内容。
编辑:这不是重复的of this,因为它不是MySQL的问题,我已经尝试了那里暴露的解决方案。这不是为iconv
提供替代方案的问题,而是要修复环境以与生产相同。