MySQL は、さまざまな Web サイト、データ ウェアハウス、エンタープライズ アプリケーションで広く使用されているオープン ソース データベース管理システムです。 MySQL では、エンコード形式は、データベースに保存されるテキスト コンテンツの内部バイナリ保存方法を指します。
データベースに中国語やその他の英語以外の文字などの特殊文字が保存されている場合は、これらの文字を正しく保存および取得できるように、正しいエンコード形式を設定する必要があります。この記事では、MySQL データベースのエンコード形式を変更する方法を紹介します。
ステップ 1: データベースのバックアップ
データベースの変更を実行する前に、データの損失や回復不能な損傷を防ぐために必ずデータベースをバックアップしてください。 MySQL が提供する mysqldump ツールを使用してデータベースをバックアップできます。コマンドは次のとおりです:
mysqldump -u [username] -p [database_name] > backup.sql
ここで、[username] はデータベースのユーザー名、[database_name] はバックアップするデータベースの名前です。 > バックアップする場合は、バックアップの内容をbackup.sqlファイルにリダイレクトすることを意味します。
ステップ 2: データベース エンコーディングを表示する
現在の MySQL データベースのデフォルト エンコーディングを表示するには、次のコマンドを実行できます。
SELECT @@character_set_database;
このコマンドは、現在の MySQL データベースのエンコーディングを表示します。データベースのデフォルトのエンコード形式。
ステップ 3: データベース エンコーディングを変更する
データベース エンコーディングを変更するには、次のステップを実行する必要があります。
find / -name my.cnf
[client] default-character-set=utf8mb4 [mysql] default-character-set=utf8mb4 [mysqld] collation-server = utf8mb4_unicode_ci character-set-server = utf8mb4
これらの設定 すべての MySQL クライアントとサーバーが正しいエンコード形式を使用していることを確認します。
sudo service mysql restart
SELECT @@character_set_database;
正しく適用された場合、出力は「utf8mb4」となります。
ステップ 4: 既存のテーブルを新しいエンコーディングに変換する
テーブルがデータベースにすでに存在する場合、データを正しく保存するには、テーブルを新しいエンコーディング形式に変換する必要があります。
SELECT CONCAT('ALTER TABLE `', table_schema, '`.`', table_name, '` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;') AS execute_sql FROM information_schema.tables WHERE table_schema = '[database_name]' AND table_type = 'BASE TABLE' ORDER BY table_name DESC;
ここで、[database_name] はアップグレードする必要があるデータベースの名前です。変換される。
ALTER TABLE `table1` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ALTER TABLE `table2` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ...
ステップ 5: 変更をテストする
すべてのテーブルを変換した後、変更が成功したかどうかをテストする必要があります。次のコマンドを実行して、すべてのテーブルのエンコード形式が更新されていることを確認します。
SHOW FULL COLUMNS FROM [table_name];
ここで、[table_name] はテストするテーブルの名前です。このコマンドはテーブルの列とメタデータを表示し、古いエンコード形式のデータがテーブル内に存在するかどうかを確認します。結果が正しく表示されれば、変更は成功しています。
結論
MySQL のデータベース エンコード形式を変更すると、特殊文字を正しく保存および取得できるようになり、多言語 Web サイトやアプリケーションを完全にサポートできるようになります。この記事で説明する手順に従うことで、MySQL データベースのエンコード形式を簡単に変更し、データの損失や破損を避けることができます。
以上がmysqlデータベースエンコーディングを変更するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。