MySQL は、UTF-8、GBK、ISO-8859-1 などの複数の文字セットをサポートする、一般的に使用されるリレーショナル データベース管理システムです。キャラクタセットが異なれば、データの保存や処理時の効果も異なるため、MySQL データベースを使用する場合は、実際の状況に応じて適切なキャラクタセットを選択する必要があります。
データベースやテーブルを作成するときに文字セットを指定できますが、テーブルの作成後に文字セットを変更する必要がある場合はどうすればよいでしょうか?次に、MySQL データベースとテーブルの文字セットを変更する方法を紹介します。
データベースのキャラクタ セットを変更する場合は、2 つの方法があります。1 つは、MySQL 構成ファイル内のデフォルトのキャラクタ セットを変更することです。もう 1 つは、既存のデータベースを変更することです。以下にこれら 2 つの方法を紹介します。
Windows システムでは、my.ini ファイルは通常、C:\Program Files\MySQL\MySQL Server 5.7\my.ini などの MySQL インストール ディレクトリにあります。Linux システムでは、my .cnf ファイルは通常、/etc/mysql/my.cnf にあります。
my.cnf または my.ini ファイルでは、以下に示すように、[mysqld] ノードの下に文字セット設定項目があります。文字セット 設定項目を必要な文字セットに変更します。
[mysqld] character-set-server=utf8
MySQL サービスを再起動します。
[mysqld] character-set-server=gbk
現在のデータベース キャラクタ セットを表示します。
mysql -u root -p
データベース キャラクタ セットを変更します。
charset_name## です。 # は必須の文字セットです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">show variables like '%character%';</pre><div class="contentsignin">ログイン後にコピー</div></div><div class="contentsignin">ログイン後にコピー</div></div>
たとえば、my_database
という名前のデータベースの文字セットを GBK に変更する場合は、次の SQL ステートメントを実行できます:
alter database database_name character set charset_name;
変更が成功したことを確認します。
alter database my_database character set gbk;
テーブルの文字セットを変更する必要がある場合は、次の手順で変更できます。
MySQL クライアントにアクセスします。このコマンドは MySQL クライアントでテーブル構造定義を出力できます character set
はテーブルの文字セットを表します。
テーブルの文字セットを変更します。
は文字セットを変更する必要があるフィールド名です。charset_name
は必要な文字セットです。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">show create table table_name\G</pre><div class="contentsignin">ログイン後にコピー</div></div>
たとえば、my_table
という名前のテーブルの
フィールドの文字セットを GBK に変更する場合は、次の SQL ステートメントを実行できます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">alter table table_name modify column_name charactor set charset_name;</pre><div class="contentsignin">ログイン後にコピー</div></div>
この SQL ステートメントを実行すると、my_table
テーブルの
フィールドの文字セットが GBK に変更されます。 変更が成功したことを確認します。
上で紹介した方法以外にも、テーブル構造ファイルの変更、トランスコーディング ツールの使用など、文字セットを変更する方法があります。一般に、設定ファイルまたは SQL ステートメントを使用して文字セットを変更するのは比較的簡単で一般的な方法なので、自分に合った方法を選択するだけです。 要約すると、MySQL データベースとテーブルのキャラクタ セットの変更は比較的簡単で、適切な方法を選択する限り、キャラクタ セットをすばやく変更できます。ただし、キャラクタセットを変更すると、既存のデータおよび将来のデータに影響を与えるため、データベースやテーブルにデータがすでに存在する場合は、キャラクタセットを変更する前に必ずデータをバックアップしてください。
以上がmysqlで文字セットを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。