我在哪里可以找到一个UTF8位到char表,例如将"ñ"转换成"ñ"?

Ans*_*ker 2 php utf-8 character-encoding mojibake

我一直在通过网络彻底查看,我似乎无法找到这种转换的表格.我找到的那些有一些错误,并且不太可靠,所以我找了一些官方的桌子或类似的,但不幸的是我没有..所以我在这里..

正如标题中所提到的,我想要做的是,例如,知道"ñ"代表什么(这个我已经知道......"ñ"),但不仅仅是西班牙人,而是其他人(我已经知道了)波兰人).

主要问题是我在PHP中有一个字符串,有时候可能会出现例如"eñe"(这是好的)而其他人则称为"eñe"..而在最后我应该能够将其更改为"eñe"所以它是可读的..但如果没关系,我不想改变它.为了做到这一点,我使用了utf8_decode函数,但是如果字符串是可读的,它仍然会将"ñ"更改为"■"(但是白色)..这就是为什么我不能总是解码字符串,并且如果我使用mb_detect_encoding函数,我将总是得到"UTF-8"作为响应..它不是那么有用..

一旦我知道所有的utf8位字符,例如"ñ"代表"ñ","Ź"代表"Ź"等,我打算做一个基本上互相取代的函数..这是与utf8_decode相同的东西......除非有人在这里有更好的解决方案!

提前致谢!问候!

Bal*_*usC 9

你为什么要这样做?您想要恢复损坏的数据吗?

实际上不应该作为通常的业务代码流程的一部分来完成.您需要做的就是确保您的webapp的所有层都正确使用UTF-8.PHP源代码,HTTP响应头和正文,数据库表,数据库连接等等.另请参见PHP UTF-8备忘单.

如果您确实想要将此作为一次性任务来恢复损坏的数据,那么最好知道问题中的损坏数据表示UTF-8数据被错误地存储或显示为ISO-8859-1.您只需要将数据读取为ISO-8859-1并写为UTF-8.一度.然后以正确的方式做到这一点.

作为证据,ñ(Unicode字符'LATIN SMALL LETTER N WITH TILDE'(U + 00F1))存在于字节和Unicode的Unicode(UTF-8,多字节编码)中.当使用像ISO-8859-1这样的单字节编码对这些字节进行编码时,则变为和变为.另请参见ISO-8859-1代码页布局.0xC30xB10xC3Ã0xB1±