有时,来自中国的客户会在我的网站上下订单,有时他们的姓名和地址信息会以一系列我无法识别或翻译的字符写入MySQL数据库。
例如,最近一位客户的送货城市在我看来是这样的:
·s¥_¥«ªo¾ô°Ï
我可以肯定地说,数据库本身以及保存客户信息的字段都设置为utf8_general_ci排序规则。该网站本身以前在其标题中具有以下内容类型声明:
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
但这在最近几周已被评论,我相信是试图找出为什么某些中文订单信息会存储在这样的字符中的尝试。在将其注释掉之前,上面的相同信息将如下所示:
s __。oo
我是否可以使用在线实用程序将这两种格式的文本块转换为DHL或其他运输服务可以使用的可读性?以及如何可靠地防止将来以这种方式存储信息?
最佳答案
这是一种这样的在线服务:http://www.mandarintools.com/email.html
这就是它如何解决您的mojibake的问题:新北市油桥区
至于MySQL:
utf8_general_ci整理
排序规则的意思是“如何比较字符串”。如果编码设置不正确,则没有意义。您需要在所有地方都使用UTF-8:用于数据库的编码和数据库连接。当然,数据库中的数据有可能是以GB或EUC的形式编写的,我无法根据您提供的信息来猜测它。