質問

MySQL テーブルを、デフォルトの大文字と小文字を区別しないスウェーデン語または ASCII 文字セットから utf-8 に移行しようとするときに、注意すべきヒントや注意すべき点がある人はいますか?私が関わっているプロジェクトの中には、より良い国際化を目指して努力しているものもあり、データベースはこの変化の重要な部分を占めることになります。

データベースを変更する前に、すべての入出力で同じ文字セットが使用されるように、各サイトを UTF-8 文字エンコーディング (重要度の低いものから最も重要なものまで) に変換します。

助けてくれてありがとう

役に立ちましたか?

解決

いくつかのヒント:

  • あなたの CHAR そして VARCHAR 列は最大 3 倍のディスク容量を使用します。(スウェーデン語の単語では、おそらくディスク容量はあまり増えません。)
  • 使用 SET NAMES utf8 データベースの読み取りまたは書き込みの前に。これを行わないと部分的に文字化けが発生します。

他のヒント

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

A varchar(255)b varchar(255)key( 'a'、 'b')

キーの長さの制限 1000 バイトを超えようとしています。255+255 は問題ありませんが、255*3 + 255*3 は機能しません。

あなたの CHAR そして VARCHAR 列は最大 3 倍のディスク容量を使用します。

128 を超える序数を持つ latin-1 がいっぱい詰め込まれている場合に限ります。それ以外の場合、UTF-8 のスペース使用量の増加は最小限に抑えられます。

照合順序は常に良好であるとは限りません。umlat が非 umlatted バージョンと照合されることになりますが、これは常に正しいとは限りません。utf8_bin を使用することもできますが、その場合はすべて大文字と小文字が区別されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top