mysqlで文字セットを変更する

WBOY
リリース: 2023-05-08 10:29:07
オリジナル
9726 人が閲覧しました

MySQL は、UTF-8、GBK、ISO-8859-1 などの複数の文字セットをサポートする、一般的に使用されるリレーショナル データベース管理システムです。キャラクタセットが異なれば、データの保存や処理時の効果も異なるため、MySQL データベースを使用する場合は、実際の状況に応じて適切なキャラクタセットを選択する必要があります。

データベースやテーブルを作成するときに文字セットを指定できますが、テーブルの作成後に文字セットを変更する必要がある場合はどうすればよいでしょうか?次に、MySQL データベースとテーブルの文字セットを変更する方法を紹介します。

データベース キャラクタ セットを変更する

データベースのキャラクタ セットを変更する場合は、2 つの方法があります。1 つは、MySQL 構成ファイル内のデフォルトのキャラクタ セットを変更することです。もう 1 つは、既存のデータベースを変更することです。以下にこれら 2 つの方法を紹介します。

方法 1: MySQL 構成ファイルを変更する

  1. MySQL 構成ファイル my.cnf または my.ini を開きます。

Windows システムでは、my.ini ファイルは通常、C:\Program Files\MySQL\MySQL Server 5.7\my.ini などの MySQL インストール ディレクトリにあります。Linux システムでは、my .cnf ファイルは通常、/etc/mysql/my.cnf にあります。

  1. [mysqld] ノードの下で文字セット設定項目を見つけます。

my.cnf または my.ini ファイルでは、以下に示すように、[mysqld] ノードの下に文字セット設定項目があります。文字セット 設定項目を必要な文字セットに変更します。

  1. character-set-server の値を必要な文字セット (GBK など) に変更し、変更を保存します。
  2. [mysqld]
    character-set-server=utf8
    ログイン後にコピー

MySQL サービスを再起動します。

  1. 構成ファイルを変更した後、新しい文字セットを有効にするために MySQL サービスを再起動する必要があります。
方法 2: 既存のデータベースを変更する

MySQL クライアントを入力します。

  1. コマンド ライン モードで、次のコマンドを入力して Enter キーを押し、MySQL 管理者アカウントとパスワードを入力します。
  2. [mysqld]
    character-set-server=gbk
    ログイン後にコピー

現在のデータベース キャラクタ セットを表示します。

  1. MySQL クライアントに入った後、次のコマンドを使用して現在のデータベース キャラクタ セットを表示できます:
  2. mysql -u root -p
    ログイン後にコピー

データベース キャラクタ セットを変更します。

  1. MySQL クライアントで次の SQL ステートメントを実行して、データベース キャラクタ セットを変更します。ここで、
  2. database_name
は変更する必要があるデータベース名、

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;
ログイン後にコピー

変更が成功したことを確認します。

    変更ステートメントを実行した後、次のコマンドを再度実行して現在のデータベース キャラクタ セットを表示し、変更が有効になっているかどうかを確認できます。
  1. alter database my_database character set gbk;
    ログイン後にコピー
  2. テーブル キャラクタ セットを変更する

テーブルの文字セットを変更する必要がある場合は、次の手順で変更できます。

MySQL クライアントにアクセスします。

    データベース文字セットを変更する場合と同様に、まず MySQL クライアントに入ります。
現在のテーブルの文字セットを表示します。

    MySQL クライアントに入ったら、次のコマンドを使用して現在のテーブルの文字セットを表示できます。
  1. table_name
  2. は、表示する必要があるテーブルの名前です。
<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>

このコマンドは MySQL クライアントでテーブル構造定義を出力できます character set はテーブルの文字セットを表します。

テーブルの文字セットを変更します。

    MySQL クライアントで次の SQL ステートメントを実行して、テーブルの文字セットを必要な文字セットに変更します。
  1. table_name
  2. は、変更する必要があるテーブルの名前です。 modified,
column_name

は文字セットを変更する必要があるフィールド名です。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 という名前のテーブルの

name

フィールドの文字セットを 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 テーブルの

name

フィールドの文字セットが GBK に変更されます。 変更が成功したことを確認します。

    テーブルの文字セットを変更した後、2 番目の手順で
  1. show create table table_name\G
  2. コマンドを再度実行して、変更が有効かどうかを確認できます。

上で紹介した方法以外にも、テーブル構造ファイルの変更、トランスコーディング ツールの使用など、文字セットを変更する方法があります。一般に、設定ファイルまたは SQL ステートメントを使用して文字セットを変更するのは比較的簡単で一般的な方法なので、自分に合った方法を選択するだけです。 要約すると、MySQL データベースとテーブルのキャラクタ セットの変更は比較的簡単で、適切な方法を選択する限り、キャラクタ セットをすばやく変更できます。ただし、キャラクタセットを変更すると、既存のデータおよび将来のデータに影響を与えるため、データベースやテーブルにデータがすでに存在する場合は、キャラクタセットを変更する前に必ずデータをバックアップしてください。

以上がmysqlで文字セットを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!