Yet*_*eti 0 php mysql utf-8 character-encoding latin1
上一期 - 无法存储非英文字符:
这是通过使用UTF8修复的.但今天意识到像这样的符号??没有正确存储.他们被转换为像♥☆.
怎么解决这个问题?
Car*_*rum 12
在我看来,它们正确存储,但是当你读出它们时,你并没有正确地解释它们. ?并将?以UTF-8编码结束为多字节字符.我敢打赌,如果你去查找多字节编码,你会看到它是一样的单字节编码♥和☆分别.
编辑:添加详细信息.
正如您在下表中所看到的,将UTF-8字符解释为将它们编码为Windows Latin-1,可以得到您所看到的结果.
UTF-8 character Hex
? e2 99 a5
? e2 98 86
Windows Latin-1 Hex
â e2
™ 99
¥ a5
˜ 98
† 86
Run Code Online (Sandbox Code Playgroud)