PHP写为ANSI而不是UTF-8

时间:2011-06-29 14:43:27

标签: php encoding save simplexml

我必须使用Apache-PHP-MySQL服务器。首先是Linux,第二是Windows。

PHP脚本使用simpleXML使用asXML(file_name)将字符串保存为文件XML。在Linux上 - 以UTF-8编码方式保存所有文件。 但在Windows上依赖 - 如果字符串中有重音字符,如òèà... - 保存为ANSI,如果没有 - 保存为UTF-8。 在php.ini中存在一个参数或其他可以确保文件编码始终为UTF-8的参数? 感谢。

3 个答案:

答案 0 :(得分:1)

我的猜测是你实际上是在ANSI中添加字符。我怀疑simplexml会自动转换你的字符..所以请确保你已经预先使用了有效的UTF-8字符串。

答案 1 :(得分:1)

根据这条评论:http://www.php.net/manual/en/ref.simplexml.php#79258;无论如何,SimpleXML都会将所有内容转换为UTF-8。

如果你想改变它,你可能想要查看xml_parser_create(),但它只支持ISO-8859-1,US-ASCII和UTF-8作为源编码。

http://php.net/manual/en/xml.encoding.php

答案 2 :(得分:1)

mysqli_set_charset($这 - >连接, 'UTF8'); 确保您使用utf-8编码从db接收。