Php 将编码从windows-1251更改为utf-8
我正在尝试解码windows-1251中创建的文件,并将其编码为UTF-8。除了一些特殊的角色,比如奥希欧,一切都正常。例如,我使用preg_replace来改变“变”为“变”,其工作原理如下: $file=preg_replace/\Ž/,‘Ä’,$filePhp 将编码从windows-1251更改为utf-8,php,encode,Php,Encode,我正在尝试解码windows-1251中创建的文件,并将其编码为UTF-8。除了一些特殊的角色,比如奥希欧,一切都正常。例如,我使用preg_replace来改变“变”为“变”,其工作原理如下: $file=preg_replace/\Ž/,‘Ä’,$file 我在使用Å时遇到了问题,它显示为这样,我看到转换为单班三,我似乎无法在其上使用preg_replace?您有两个主要的内置函数来完成这项工作,只需选择一个: : : 要确定为什么您的自制替代方案不起作用,我们需要花一些时间查看完整的代码库
我在使用Å时遇到了问题,它显示为这样,我看到转换为单班三,我似乎无法在其上使用preg_replace?您有两个主要的内置函数来完成这项工作,只需选择一个: : : 要确定为什么您的自制替代方案不起作用,我们需要花一些时间查看完整的代码库,但我可以想到一些潜在的问题: 您使用的是混合编码,但没有使用十六进制表示法或任何类型的字符串实体。还不清楚脚本文件本身保存为什么编码 PCRE中没有任何信息,也不知道意图是什么 也许您不止一次地替换了一些字符串 最后但并非最不重要的一点是,您是否编译了一个完整且正确的字符映射数据库,其中至少包含两种编码之间不同的128个代码点
为什么不找到更好的初始转换方法呢?使用$file=iconv Windows-1251,UTF-8,$file;mb\u convert炣编码已工作!我使用以下程序包进行转换,但未正确转换:
$file = mb_convert_encoding($file, 'UTF-8', 'Windows-1251');
$file = iconv('Windows-1251', 'UTF-8', $file);