修复损坏的 UTF-8 编码
在处理 UTF-8 编码时,经常会遇到由于不正确而导致的损坏字符,例如 Ò®处理。此问题可能由数据库配置、PHP 设置甚至文本编辑器编码引起。
MySQL 字符集和 PHP 标头
确保您的 MySQL 数据库使用 UTF -8 排序规则,如 utf8_general_ci。此外,验证您的 PHP 代码是否包含正确的 UTF-8 标头,例如:
<?php header("Content-Type: text/html; charset=utf-8"); ?>
检查记事本和 phpMyAdmin
确认记事本已配置为使用UTF-8 无 BOM。在 phpMyAdmin 中,确保将数据显示和 SQL 导出的字符编码设置为 UTF-8。
识别损坏的重音字符
虽然并非所有重音字符都可能是受影响的常见损坏序列包括 、 和 。这些字符分别代表“e”、“i”和“u”的重音版本。
解决方案:双重编码修复
如果您怀疑双重编码UTF-8 字符,请考虑使用以下过程:
mysqldump -h DB_HOST -u DB_USER -p DB_PASSWORD --opt --quote-names \ --skip-set-charset --default-character-set=latin1 DB_NAME > DB_NAME-dump.sql
mysql -h DB_HOST -u DB_USER -p DB_PASSWORD \ --default-character-set=utf8 DB_NAME < DB_NAME-dump.sql
此过程强制将双编码字符转换为有效字符UTF-8。
来源:
[修复 MySQL 中的双编码 UTF-8 数据](http://blog.hno3.org/2010/04/22/fixing -双编码-utf-8-data-in-mysql/)
以上是如何修复 MySQL 和 PHP 中损坏的 UTF-8 编码?的详细内容。更多信息请关注PHP中文网其他相关文章!