6

在这篇stackoverflow帖子之后,我正在尝试使用file_put_contents(并且file_get_contents就此而言)使用UTF-8 ¥如何以UTF-8格式编写文件?它使用:

$data = mb_convert_encoding($data, 'UTF-8', 'OLD-ENCODING');

这并没有得到很好的解释,因为它会产生以下错误:

mb_convert_encoding(): Illegal character encoding specified

所以'OLD-ENCODING'只是他们使用的占位符。我的问题是我应该把它改成什么编码?ASCII 还是 ISO-8859-1?大多数网络主机使用什么编码?有关系吗?

当我打开文件时,我会正确地得到符号,只有当我的记事本设置为编码 UTF-8 时。如果我用另一个字符集打开它,它会显示一个“ ?”。

4

2 回答 2

4

尝试不使用第三个参数。

$str = mb_convert_encoding($str, "UTF-8");

或者auto

$str = mb_convert_encoding($str, "UTF-8", "auto");

更多信息和示例: http: //php.net/manual/function.mb-convert-encoding.php

于 2012-09-11T22:20:15.617 回答
1

mb_convert_encoding($data, 'UTF-8', mb_detect_encoding($data));

mb_detect_encoding

于 2012-09-11T22:18:50.280 回答