使用 PHP 将 latin1_swedish_ci 转换为 utf8

2024-05-20

我有一个数据库,里面充满了类似的值♥•â—♥ Dhaka ♥•â—♥(应该是♥•●♥ Dhaka ♥•●♥)因为我在创建数据库时没有指定排序规则。
现在我想修复它。我无法从最初获取数据的地方再次获取数据。所以我在想是否可以在 php 脚本中获取数据并将其转换为正确的字符。
我已将数据库和字段的排序规则更改为utf8_general_ci..


排序规则与字符集不同。排序规则仅用于文本的排序和比较(这就是其中有语言术语的原因)。实际的字符集可能有所不同。

最常见的故障不是在数据库中,而是在 PHP 和 MySQL 之间的连接中。连接的默认字符集通常是 ISO-8859-1。您需要更改连接后要做的第一件事,使用 SQL 查询SET NAMES 'utf-8'; or the mysql_set_charset http://php.net/mysql_set_charset功能。

还要检查表的字符集。如果您没有指定 UTF-8 开头,这也可能是错误的(再次强调:这与排序规则不同)。但请确保在更改此处的任何内容之前进行备份。 MySQL 将尝试转换前一个字符集,因此如果您实际上在 ISO-8859-1 表中保存了 UTF-8 数据,则可能需要从备份中重新加载数据。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 将 latin1_swedish_ci 转换为 utf8 的相关文章

随机推荐