0

我目前正在使用 MySQL 数据库,之前维护数据库的人已将字符集从 ISO-8859-1 更改为 UTF-8。现在有一个问题,每个 ä 都变成 ä。现在我编写了代码来更改整个数据库中的所有记录。但显然有些词是正确写的。因此,例如,您有一个词 likePöytäkrono和一个词 like Sisäänkirjautuminen。如果我使用iconv('UTF-8', 'ISO-8859-1', Pöytäkrono)它会给予Pöytäkrono,但当我使用iconv('UTF-8', 'ISO-8859-1', Sisäänkirjautuminen)它会给予S。因为数据库很大,我想自动完成,但我不希望正确拼写/书写的单词只更改错误的单词。

4

1 回答 1

0

您可以像这样更改数据库存储编码,它将在数据库以 UTF-8存储字符串时起作用。这本身不会给你带来任何东西。

但也需要改变的事情:

  • 文本编辑器编码需要设置为 UTF-8。直接在源代码中的 PHP 字符串具有您的文本编辑器已设置的编码。

  • 数据库<->php传输编码,它可能甚至不存在于您的代码中,因为它默认为 ISO-8859-1。对于 UTF-8,您需要mysql_set_charset("utf8")在进行查询之前显式调用。

  • 网站编码声明,也默认为 ISO-8859-1。您需要显式调用header("Content-Type: text/html; charset=UTF-8")或配置例如 apache 以自动执行此操作。
于 2013-04-01T11:36:24.477 回答