2010-11-22 9 views

答えて

1

ASCIIの文字はUnicodeのサブセットであり、ASCIIのコードワードも有効なUTF-8です。したがって、すべてのASCII文字列が有効なUTF-8文字列であるため、変換は必要ありません(逆も同様です)。

+0

@Greenどのようにそう思うのですか? – Gumbo

+0

すみません。サーバーからの応答を 'JSON.parse'するのを忘れてしまったようです。私は、ZF2でのユーザーの資格情報の検証に関する回答にロシア語を使用します。だから、私はいくつかのロシアのメッセージ( 'mb_detect_encoding'があればutf-8)を、ZF2(ASCIIなら' mb_detect_encoding'ならば)からデフォルトのメッセージをセットし、それらを1つのjson答えで組み合わせると 'alert(xhr.response) 'ロシアのものは' ["\ u0440 \ u0436 \ u0438 \ u0442 ...'のようなものですが、英語のものは普通です ""入力はDNSホスト名...と思われます。しかし、 'JSON.parse(xhr.response)'の後はすべて正常です:) – Green

+0

@Green JSONエンコーダーの中には、安全に再生し、Unicodeエスケープシーケンス '\ uxxxx'を使って非ASCII文字をエンコードするものがあります([RFC 4627 ](http://tools.ietf.org/html/rfc4627#section-2.5))を参照してください。 – Gumbo

0

文字エンコーディングを変換するには、mb_convert_encoding()またはiconv()を使用できます。

2

文字が有効なASCIIの場合、有効なUTF-8は変換されません。 http://en.wikipedia.org/wiki/UTF-8

+0

それでは、 'json_encode'にUTF-8とASCII文字列を組み合わせることができないのはなぜですか? – Green

関連する問題