如何在PHP中将内部处理编码更改为UTF8?

时间:2009-09-02 22:34:16

标签: php encoding utf-8

目前在我的应用程序中,utf8编码数据被PHP的内部编码破坏。

如何使其与utf8保持一致?

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

在php.ini中我发现了以下内容:

default_charset = "iso-8859-1"

这意味着Latin1。

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

2 个答案:

答案 0 :(得分:4)

将其更改为:

default_charset =“utf-8”

没有ISO版本的UTF-8。

您需要具体了解详细信息,因为编码可能会在PHP应用程序的许多不同区域被破坏。 常见的问题是:

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

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

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

答案 1 :(得分:0)

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

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

并且您还可以在html head部分添加以下内容

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

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