JSON字符编码与utf8


JSON character encoding vs utf8

我有一个JSON字符编码的问题。当我调用ajax并返回编码utf8字符串的json_encode()我的关键世界是'áo',但编码后,它返回'' u00c10 ',但在javascript中,jquery我想比较字符串'áo'如何做到这一点(我不想比较' u00c10与' u00c10)

unicode转义序列与UTF-8字符没有什么不同(前提是您的文档和JS使用UTF-8编码)。

>>> ''u00c1o' === 'Áo'
<<< true

注意:不同大小写的字符串被认为是不同的。您可能希望在两个字符串上调用toLowerCase()toUpperCase()以进行不区分大小写的比较:

>>> ''u00c1o'.toLowerCase() === 'áo'.toLowerCase()
<<< true

数据由JS插值显示并编码存储。因此,''u00c1o' == 'Áo'。注意,它不等于'áo',但它可以工作:

"áo" == "'u00c1o".toLowerCase()