最近、ロシア語の文字を扱うために、mysqlをlatin-1
からutf-8
に変更しなければなりませんでした。彼らはもともとは?????と表示されていました。テーブルでエンコーディングを使用する場合
また、データベースのいくつかのテーブルをutf8mb4
に変更する必要がありました。私はもともとこれらをutf8
に設定していましたが、これは特定の文字を処理するのに十分なビットがありませんでした。
プロダクションデータベースを変更する必要があり、特定のエンコードタイプの行の数か月後に問題が発生しないようにする必要があります。
私の質問はいつ私がテーブル上のエンコードを使用するのですか?
意見に基づいて:私は通常、 'utf8mb4'と' utf8mb4_unicode_520_ci'を使用します。これにより照合順序が改善されます。 –
いつでもmysqlに格納されているデータには1つの文字セットしか適用されないため、whenの質問は真です。単純なことに対する答え:アプリケーション内で使用する必要があるすべての文字を含む文字セットを使用します。 – Shadow
私は同意するが、私は尋ねなければならなかった。 dbのすべてのテーブルをこのエンコーディングに変更すること、つまり既存のデータと出力に関する問題が懸念されていたと思います。 –