当我打开为许多数据导出的 excel 文件时,一些字符如下所示: �
虽然我将编码设置为 utf-8
并在用于导出数据的脚本中,但我使用以下函数: preg_replace('/['s]+/',' ',@$tring);
和$string="le secteur public à réagir";
在 excel 文件中,$string如下所示: le secteur public � réagir
,为什么"é"转换正确,但"à"不?UTF-8 正确。
谢谢。
您在使用 preg_replace('/['s]+/',' ',@$tring);
之前尝试过echo $string
吗?
此代码在使用 Chrome 时正常运行,其输出为 le secteur public à réagir
.
当我在命令行中运行此代码时,它的输出是 le secteur public α rΘagir
.
所以,我认为这里的问题不是preg_replace('/['s]+/',' ',@$tring);
您的正则表达式缺少u
(utf-8) 修饰符:
preg_replace('/['s]+/u',' ',@$tring);
^