0

JSON文字エンコーディングに関する問題があります.ajaxを呼び出して、utf8文字列をjson_encode()キーワールドでエンコードして返すと、「áo」が返されますが、エンコード後に「\ u00c1o」が返されますが、javascriptでは、jqueryでその文字列を「áo」と比較したいやり方(\u00c1oと\u00c1oを比較したくない)

4

2 に答える 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 に答える