2012-02-15 9 views
0

UTF-8は、Unicode Character setを表すために使用されるencodingです。この同じ文字セットを表すために、他のエンコーディングを使用することもできます。だから、なぜMySQLが誤ってUTF-8をエンコーディングというより、文字セットと誤って呼び出すのですか?私はいくつかの人々が2つの用語を混同していることを認識していますが、大規模で尊敬されるソフトウェアプロジェクトからは、そのような混乱は期待できません。MySQL:なぜUTF-8は文字セットと呼ばれていますか?

例MySQLの使い方:

CREATE TABLE names (name VARCHAR(100) CHARACTER SET utf8); 
+1

は今日(http://en.wikipedia.org/wiki/Tilting_at_windmills)[風車で傾斜]のように感じましたか? –

+0

@Joe:いいえ、MySQLのUTF-8用語で不満です。 UTF-8の場合、「utf8」と呼ばれることもありますが、これは有効な同義語ではありません(http://www.iana.org/assignments/character-sets)。彼らが自分の言葉や定義をどのようにして作ったかを少なくとも一度考えれば、それはうまくいく。 – dotancohen

+2

これはMySQLの欠陥ではありません。 「CHARACTER SET」という用語は、以前のSQL標準化作業から来ています(たとえば、同じコンテキストではありませんが、SQL92に存在しています)。これは 'latin1'らが本当に文字セットであった時代から来ています。Unicode標準がそれらを1つのユーバー文字セットのエンコードとして再構築する前です。 – bobince

答えて

関連する問題