首页 / PHP / php – 修复损坏的UTF-8编码
php – 修复损坏的UTF-8编码
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 修复损坏的UTF-8编码,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1708字,纯文字阅读大概需要3分钟。
内容图文
![php – 修复损坏的UTF-8编码](/upload/InfoBanner/zyjiaocheng/716/7a1059d3a096456bb82e058de781d3b0.jpg)
我正在修复一些糟糕的UTF-8编码.我目前正在使用PHP 5和MySQL.
在我的数据库中,我有一些不良编码的实例,如:Ã?®
>数据库排序规则是utf8_general_ci
> PHP正在使用正确的UTF-8标头
>记事本设置为使用不带BOM的UTF-8
>数据库管理在phpMyAdmin处理
>并非所有重音字符都被破坏
我需要某种功能来帮助我将Ã?®,Ã?Â,Ã?¼和其他类似的实例映射到正确的重音UTF-8字符.
解决方法:
我不得不试图在过去“修复”一些UTF8破坏的情况,不幸的是,这从来都不容易,而且往往是不可能的.
除非你能确切地确定它是如何被打破的,并且它总是以完全相同的方式被打破,否则很难“消除”这种伤害.
如果您想尝试撤消损坏,最好的办法是开始编写一些示例代码,在这些代码中您尝试对mb_convert_encoding()调用进行多种变化,以查看是否可以找到“from”和“to”的组合.修复您的数据.最后,由于所涉及的痛苦程度,通常最好不要担心修复旧数据,而只是解决未来的问题.
但是,在执行此操作之前,您需要确保首先修复导致此问题的所有内容.您已经提到您的数据库表格排序和编辑器设置正确.但是有更多地方需要检查以确保所有内容都是正确的UTF-8:
>确保您以UTF-8的形式提供HTML:
> header(“Content-Type:text / html; charset = utf-8”);
>将PHP默认字符集更改为utf-8:
> ini_set(“default_charset”,’utf-8′);
>如果您的数据库始终没有在utf-8中进行通话,那么您可能需要在每个连接的基础上告诉它以确保它处于utf-8模式,在MySQL中您通过发出以下命令来实现:
> charset utf8
>您可能需要告诉您的网络服务器始终尝试以UTF8进行通话,在Apache中,此命令是:
> AddDefaultCharset UTF-8
>最后,您需要始终确保使用正确的UTF-8投诉的PHP函数.这意味着始终使用mb_*样式的“多字节识别”字符串函数.它还意味着在调用htmlspecialchars()等函数时,在末尾包含相应的’utf-8’charset参数,以确保它不会错误地编码它们.
如果您错过了整个过程中的任何一步,编码可能会被破坏并出现问题.一旦你进入了做utf-8的’凹槽’,这一切都成了第二天性.当然,PHP6应该是来自getgo的完全unicode投诉,这将使这很容易(希望如此)
内容总结
以上是互联网集市为您收集整理的php – 修复损坏的UTF-8编码全部内容,希望文章能够帮你解决php – 修复损坏的UTF-8编码所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。