Php 将问题显示到Excel/文本文件中的字符?
当我打开为许多数据导出的excel文件时,一些字符显示为:Php 将问题显示到Excel/文本文件中的字符?,php,encoding,utf-8,preg-replace,Php,Encoding,Utf 8,Preg Replace,当我打开为许多数据导出的excel文件时,一些字符显示为:�尽管我将编码设置为utf-8,并且在用于导出数据的脚本中,我使用以下函数:preg_replace('/[\s]+/','',@$tring)和$string=“le secteur publicáréagir”在excel文件中,$string如下所示:le secteur public� réagir,为什么“é”被转换为正确的,而“á”不是?utf-8被转换为正确的 谢谢。在使用preg\u replace('/[\s]+/','
�
尽管我将编码设置为utf-8
,并且在用于导出数据的脚本中,我使用以下函数:preg_replace('/[\s]+/','',@$tring)
和$string=“le secteur publicáréagir”
在excel文件中,$string如下所示:le secteur public� réagir
,为什么“é”被转换为正确的,而“á”不是?utf-8被转换为正确的
谢谢。在使用
preg\u 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);
^
请发布脚本以导出数据(它可能会被PHP转换为ASCII文本),好吗?此外,如果您在Excel中打开常规utf-8格式的信息,但是从文本中打开,这并不意味着Excel理解它在打开时进行自己的转换。一个代码示例会很有帮助。可能是excel文件的字符集。如何设置它?对于utf8编码?我如何告诉excel为所有特殊字符和文本类型设置utf8编码?当我删除preg_replace('/[\s]+/','@$tring)时,请谅解;然后输出正确显示…但对于某些特殊字符,必须这样做。