使用PHP将latin1_swedish_ci转换为utf8

Bib*_*ath 10 php mysql character-encoding

我有一个数据库填充了像♥•â—♥ Dhaka ♥•â—♥(应该是?•?? Dhaka ?•??)的值,因为我没有在创建数据库时指定排序规则.
现在我想解决它.我无法从第一个地方获取数据再次获取数据.所以我在想是否有可能在php脚本中获取数据并将其转换为正确的字符.
我已将数据库和字段的排序规则更改为utf8_general_ci..

Emi*_*röm 14

排序规则与字符集不同.排序规则仅用于文本的排序和比较(这就是为什么有一个语言术语).实际的字符集可能不同.

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

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