如何转换这些奇怪的字符? (ë,Ã,ì,ù,Ã)

我的页面经常显示像Ã,Ã,Ã,Ã,Ã,代替普通字符的东西。 我使用utf8作为头页和MySQL编码。这是怎么发生的?     
已邀请:
这些是utf-8编码的字符。使用utf8_decode()将它们转换为普通的ISO-8859-1字符。     
如果您看到这些字符,您可能只是没有正确指定字符编码。因为这些字符是使用ISO 8859-1或Windows-1252等单字节编码解释UTF-8多字节字符串时的结果。 在这种情况下,
ë
可以用0xC3 0xAB编码,代表UTF-8中的Unicode字符
ë
(U + 00EB)。     
即使
utf8_decode
是一个有用的解决方案,我更喜欢纠正表本身的编码错误。在我看来,纠正坏人物本身比在代码中制作“黑客”更好。只需在桌子上的字段上做一个
replace
。要纠正OP中的错误编码字符:
update <table> set <field> = replace(<field>, "ë", "ë")
update <table> set <field> = replace(<field>, "Ã", "à")
update <table> set <field> = replace(<field>, "ì", "ì")
update <table> set <field> = replace(<field>, "ù", "ù")
其中
<table>
是mysql表的名称,
<field>
是表中列的名称。这是一个非常好的检查列表,通常是坏编码的windows-1252到utf-8字符 - >调试图表将Windows-1252字符映射到UTF-8字节到Latin-1字符。 在尝试用SQL替换任何字符之前,请记住备份您的表! [我知道这是一个非常古老的问题的答案,但再一次面对这个问题。在将文本插入到utf8_general_ci整理表之前,一些旧的Windows机器没有对文本进行正确编码。     

要回复问题请先登录注册