mysqlエンコード変換

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

MySQL は、データの保存と管理に使用されるオープンソースのリレーショナル データベース管理システムです。 MySQL を使用する場合、データをエンコードする必要がある場合があります。エンコーディング変換とは、ある文字セット エンコーディングを別の文字セット エンコーディングに変換することを指します。一般的な文字セット エンコーディングには、UTF-8、GBK、GB2312 などが含まれます。

MySQL では、convert 関数と Cast 関数を使用してエンコード変換を実行できます。

  1. convert 関数を使用してエンコード変換を行う

convert 関数は、ある文字セット エンコードから別の文字セット エンコードに文字列を変換できます。構文は次のとおりです。

convert(expr,charset,[binary])

このうち、expr は変換する必要がある文字列、charset はターゲットエンコーディングの文字セットです。 、binary はオプションのパラメータです。変換にバイナリ モードを使用するかどうかを指定するために使用されます。

たとえば、gb2312 でエンコードされた文字列を utf8 でエンコードされた文字列に変換します:

SELECT CONVERT('中国',CHARACTER SET utf8);
ログイン後にコピー

実行結果は次のようになります:

+---------------+ | CONVERT('中国',CHARACTER SET utf8) | +---------------+ | 中国 (中文字符) | +---------------+
ログイン後にコピー
  1. エンコードには Cast 関数を使用します変換

cast 関数は、文字列をある文字セット エンコーディングから別の文字セット エンコーディングに変換するために使用することもできます。構文は次のとおりです。

cast(expr as type)

このうち、expr は変換する必要がある文字列、type はターゲットの文字セットのエンコーディング タイプです。

たとえば、gbk でエンコードされた文字列を utf8 でエンコードされた文字列に変換します:

SELECT CAST('中国' as CHAR CHARACTER SET utf8);
ログイン後にコピー

実行結果は次のとおりです:

+------------------------------------+ | CAST('中国' as CHAR CHARACTER SET utf8) | +------------------------------------+ | 中国 | +------------------------------------+
ログイン後にコピー

キャスト関数は次のことができることに注意してください。既存のデータ型を別のデータ型に変換するだけです。データ型そのものが一致しない場合、cast関数による変換はできません。

エンコード変換の関数を使用することに加えて、MySQL 構成ファイル my.ini でエンコード変換を構成することもできます。 my.ini で、character-set-server パラメータと Collation-server パラメータを設定して、MySQL サーバーの文字セットと照合順序を指定する必要があります。たとえば、MySQL サーバーのデフォルトの文字セット エンコーディングを utf8 に変更します:

[mysqld] character-set-server = utf8 collation-server = utf8_general_ci
ログイン後にコピー

同時に、データベースとテーブルを作成するときにエンコーディング タイプを指定することもできます。たとえば、utf8 キャラクタ セット エンコーディングと utf8_general_ci 照合順序を使用してデータベースを作成します:

CREATE DATABASE mydatabase DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
ログイン後にコピー

utf8 キャラクタ セット エンコーディングと utf8_general_ci 照合順序を使用してテーブルを作成します:

CREATE TABLE mytable ( id INT NOT NULL, name VARCHAR(50) NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci;
ログイン後にコピー

概要:

MySQL複数の文字セット エンコーディングをサポートしており、一般的なものには UTF-8、GBK、GB2312 などが含まれます。 MySQL を使用する場合、複数の言語と文字列の正しい配置をサポートするには、正しい文字セット エンコーディングと照合順序を設定する必要があります。エンコード変換には、convert 関数と Cast 関数を使用するか、MySQL 設定ファイル my.ini で文字セットと照合順序を指定できます。

以上がmysqlエンコード変換の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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