我有一个带有JSON字符编码的问题。当我调用ajax并通过json_encode()
返回编码utf8字符串时,我的密钥世界是'áo'但是在编码之后它返回'\ u00c1o'但是在javascript中,jquery我想要将该字符串与'áo'进行比较怎么做(我不想将\ u00c1o与\ u00c1o进行比较)
答案 0 :(得分:4)
unicode转义序列与UTF-8字符没什么区别(假设您的文档和JS使用UTF-8编码提供)。
>>> '\u00c1o' === 'Áo'
<<< true
注意:具有不同外壳的字符串被认为是不同的。您可能希望在两个字符串上调用toLowerCase()
或toUpperCase()
,以进行不区分大小写的比较:
>>> '\u00c1o'.toLowerCase() === 'áo'.toLowerCase()
<<< true
答案 1 :(得分:1)
数据由JS插值显示并编码存储。因此,'\u00c1o' == 'Áo'
。请注意,它不等于'áo'
,但这确实有效:
"áo" == "\u00c1o".toLowerCase()