【发布时间】:2012-10-24 20:15:42
【问题描述】:
我在客户数据库中有这样的词(同样情况下还有 40 多个):
AclimaçãoAclima&ccedilão
我需要将两者都转换为 UTF-8 并保存在 MySQL 数据库中:Aclimação。
我如何用 PHP 做到这一点?
[编辑]
观察:
我需要这样做,因为当用户找到特定的“地区”时,它不可能转换成两种格式,例如:
Aclimaç&aatilde;o (correct)Aclimação (incorrect: utf8 + html number encode)Aclima&ccedilão (incorrect: iso + html number encode)
我只需要一种编码类型,在我的例子中:ISO-8859-1。
【问题讨论】:
-
在数据库排序规则中将编码类型设置为 UTF8
utf8_general_ci。 -
我不能这样做,因为数据库中的所有单词都是 ISO-8859-1。我需要转换这个词,因为有 2 种类型的转换(ã 而不是 &aatilde),而且很难找到。
-
通常
html_entity_decode()可以。但这看起来是一次半编码。因此,您可能需要自定义替换映射和函数和/或正则表达式。