2009-09-02 78 views
1

目前在我的应用程序中,utf8编码的数据被PHP的内部编码破坏。如何在PHP中将内部处理编码更改为UTF8?

如何使它与utf8一致?

编辑:为了显示示例,请告诉我如何在PHP中输出当前内部编码?

在php.ini中,我发现以下几点:

default_charset = "iso-8859-1" 

这意味着Latin1的。

如何将其更改为utf8,比如utf8的iso版本是什么?

+0

请你详细说明一下,并举例说明一下吗? – rogeriopvl 2009-09-02 22:35:50

回答

4

将其更改为:

DEFAULT_CHARSET = “UTF-8”

有UTF-8的无ISO版本。

您需要详细说明细节,因为编码可能会在PHP应用程序的许多不同区域发生损坏。 常见问题领域是:

保存和检索从DB: 数据库编码必须与从PHP发送给它的字符串,或者必须将字符串转换为数据库编码。

PHP4的单字节字符串功能: PHP的功能,例如strlen的(),str_replace函数()不产生上多字节编码如UTF-8正确的结果,因为它们在单字节操作。

页面编码: 确保浏览器知道您发送的是UTF-8。

+0

是不是utf-8与iso-10646-1相同? 对于“PHP4的单字节字符串函数”,你的意思是将所有这些字符串函数替换为mb_函数? – omg 2009-09-02 22:56:16

+0

iso-10646-1,不知道。虽然我不会将配置设置为iso-10646-1。是的,使用PHP4的mb_functions。 PHP5对UTF-8有本地支持。 – bucabay 2009-09-02 23:36:39

+0

对于PHP4请参阅:http://www.phpwact.org/php/i18n/utf-8 – bucabay 2009-09-02 23:37:23

0

您可以在php文件中更改字符编码。要更改php页面中的编码,请使用以下功能。

$new_value = htmlentities('$old_value',ENT_COMPAT, "UTF-8"); 

,你也可以添加在HTML头部分

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 

下面我希望这将有助于解决您的问题。

相关问题