JSON文字エンコーディングに関する問題があります.ajaxを呼び出して、utf8文字列をjson_encode()
キーワールドでエンコードして返すと、「áo」が返されますが、エンコード後に「\ u00c1o」が返されますが、javascriptでは、jqueryでその文字列を「áo」と比較したいやり方(\u00c1oと\u00c1oを比較したくない)
質問する
317 次
2 に答える
4
Unicode エスケープ シーケンスは UTF-8 文字と同じです (ドキュメントと JS が UTF-8 エンコーディングで提供されている場合)。
>>> '\u00c1o' === 'Áo'
<<< true
注: ただし、大文字と小文字が異なる文字列は異なるものと見なされます。大文字と小文字を区別しない比較のために、両方の文字列に対してtoLowerCase()
orを呼び出すことができます。toUpperCase()
>>> '\u00c1o'.toLowerCase() === 'áo'.toLowerCase()
<<< true
于 2013-04-25T03:15:57.643 に答える
1
データは表示用に JS によって補間され、保存用にエンコードされます。したがって、'\u00c1o' == 'Áo'
. と等しくないことに注意してください。ただし'áo'
、これは機能します。
"áo" == "\u00c1o".toLowerCase()
于 2013-04-25T03:17:32.603 に答える