2008-09-05 10 views
4

MySQLのテーブルをデフォルトの大文字小文字のスウェーデン語またはASCIIの文字セットからutf-8に移行しようとするときに、何かヒントや気がかりな点がありますか?私が関与しているプロジェクトの中には、より良い国際化を目指しているものがあり、データベースはこの変化の重要な部分になるでしょう。MySQL UTF/Unicodeの移行のヒント

データベースを変更する前に、すべての入出力で同じ文字セットが使用されていることを確認するために、各サイトをUTF-8文字エンコーディング(最小クリティカルから最大)に変換する予定です。私は答えを見つけるのを助けるために、以下のサイト/記事の上に行くことしようと思って任意のヘルプ

答えて

2

いくつかのヒント:

  • あなたCHARVARCHAR列が3倍以上のディスク容量まで使用されます。 (スウェーデン語の場合、ディスク容量が大きくなることはほとんどありません)
  • データベースに読み書きする前にSET NAMES utf8を使用してください。あなたがこれをしないと、部分的に文字化けした文字が得られます。
1

ため

感謝。

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - Joel on Software

UTF-8 And Unicode FAQ

Hanselminutes episode "Sorting out Internationalization with Michael Kaplan"

そして、私はこれを書いていたように私もちょうどデレック・シバース@オライリーONLampブログで非常に話題のポストに発見しました。 Turning MySQL data in latin1 to utf8 utf-8

0

あなたCHARVARCHAR列は3倍以上のディスク容量まで使用されます。

latin-1に128を超える序数が含まれている場合にのみ、UTF-8のスペース使用量が最小限に抑えられます。

0

照合が常に好ましいとは限りません。ウムラットは、必ずしも正しくないわけではありません。 utf8_binと一緒に行きたいかもしれませんが、すべて大文字と小文字が区別されます。

1

インデックスの長さの制限に注意してください。テーブルが構成されている場合は、言う:

VARCHAR(255) BのVARCHAR(255) キー( 'A'、 'B')

あなたが1000バイトの制限に過ぎて行くつもりですキーの長さ。 255 + 255は大丈夫ですが、255 * 3 + 255 * 3は動作しません。