1

MySQL で dcm4chee (システムを備えた Java ベースのオープン ソース医療画像ストレージ) を国際化しようとしていますが、いくつか質問があります。

私がこれまでに知っていることは次のとおりです。 1. MySQL で文字セットを latin1 から utf8 に変更する必要があります (すべての国際文字をサポートするため)。 2. 照合を utf8_unicode_ci に設定したいと確信しています。

知っておくべきことは次のとおりです。 1. これらのことをいつ、どのように行うべきですか? a. これらの変更を既存のテーブルに加えることができますか? b. もしそうなら、どうすればいいですか?c. これらの変更は、データベースの存続期間全体で一度だけ行う必要がありますか? d. 加えられた変更は、将来のエントリのみに影響しますか、それともすべてのエントリに影響しますか? 2. dcm4chee の将来のインストールでデフォルトを utf8 を使用するように変更するにはどうすればよいですか? 3. 私の調査によると、文字セットと照合順序を変更して、十分に広い文字セット (utf8) を使用するだけで、MySQL を国際化することができます。これは本当ですか?そうでない場合、他に何をしなければなりませんか?

ありがとう、これについての助けは大歓迎です

4

1 に答える 1

1

私は専門家ではありませんが、過去にデータベースの文字セット/照合順序を変更する必要がありました。

  1. a) MySQL テーブルはいつでも変更できます。変更を行う前に、データベースをバックアップしてください。

    b)各開発者が毎日直面する課題からの SQL クエリ:

    ALTER TABLE db_table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;

    c) 一度だけ変更する必要があります。新しいテーブルを作成する場合は、正しい文字セットで作成されていることを確認してください。

    d) 変更は将来の/既存のエントリに影響します (ただし、以前の文字セットの結果として、古いテーブル エントリが意図した UTF8 文字ではなく不要な文字である場合、この変更によって魔法のようにそれらが意図した状態に変更されることはありません)。

  2. 申し訳ありませんが、私は dcm4chee を使用したことがありません。データベースが事前に構築され、インストールにバンドルされている場合は、バンドルされたデータベースを変更する必要があります。ソフトウェアのインストール時にデータベースが構築される場合は、ソース コードのこのセクションを見つけて、"CREATE TABLE..." SQL クエリを変更し、適切な文字セットでテーブルを作成する必要があります。各ソースファイル内で「CREATE TABLE」を検索して、見逃さないようにすることをお勧めします。

  3. 私の限られた MySQL の経験では、データベースを国際化するには文字セット/照合を変更するだけで十分です。中国語と英語のデータベースしか経験したことがありませんが、いずれの場合も、文字セット/照合を変更しても問題は発生しませんでした。

于 2009-02-15T21:05:04.643 に答える