[解決済み】キャラクタセットと照合順序の正確な意味は何ですか?
質問
を読むことができます。 MySQL のドキュメントを見ると、かなり明確です。しかし、どの文字セットを使用するかはどのように決定するのでしょうか?照合順序はどのようなデータに影響を与えるのでしょうか?
この2つの説明と選び方を教えてほしいのです。
どのように解決するのか?
MySQLから ドキュメント :
A 文字セット は、記号 とエンコーディングがあります。A 照合 は の文字を比較するためのルールです。 文字セットです。この の例を挙げて、その違いを明確にします。 架空の文字セット
というアルファベットがあるとします。 A'、'B'、'a'、'b'の4文字です。私たちは 各文字に数字を与える: 'A' = 0, B' = 1, 'a' = 2, 'b' = 3。文字 A'は記号であり、数字の0は を符号化したものであり、その組み合わせは 4つの文字とその のエンコーディングが文字セットです。
さて、ここで比較したいのは 二つの文字列値、'A'と'B'。このとき これを行う最も簡単な方法は、次のようになります。 エンコーディングは 0が'A'、1が'A'です。 'B'. 0は1より小さいので、次のように言います。 A'は'B'よりも小さい。さて、ここまでで は、照合順序を適用しています。 文字セットです。照合順序は のルール(今回は1つのルールのみ)です。 エンコーディングを比較する。 最も単純な照合順序は バイナリーコレーション
しかし、もし 小文字と大文字は と等価なのでしょうか?そうすると、少なくとも の2つのルールがあります。(1) 小文字の「a」と「b」は、「a」と「b」のように A'と'B'と同等である。 のエンコードを比較する。これを 大文字・小文字を区別しない照合順序 これは バイナリより少し複雑 の照合になります。
現実には、ほとんどの文字セットには A'や'B'だけでなく、多くの文字があります。 しかし、アルファベット全体、時には 複数のアルファベットや東洋の文字 何千もの文字があるシステムです。 多くの特殊記号と 句読点 また、実生活でも ほとんどの照合順序は多くの規則を持っています。 大文字と小文字の区別がないだけでなく アクセントの不感受性(quot;accent"は、quot;accent;accent;を意味します。 のように文字に付いているマークです。 ドイツ語の'ö')や複数文字の のマッピング(例えば、'ö' = 'ö'というルール)があります。 2つのドイツ語のうち1つは「OE」。 の照合表)。
関連
-
[解決済み】MAMPのmysqlサーバーが起動しない。mysqlのプロセスが起動していない
-
[解決済み】「docker container run」は最低1つの引数を必要とする
-
[解決済み] MySQLで日付のみのパラメータを使用してタイムスタンプの日付を比較する方法は?
-
[解決済み] エラー:テーブル '<table-name>' に対するユーザー '<userid>'@'<ip-address>' への select コマンドが拒否されました。
-
[解決済み] MySQLクエリ GROUP BY 日/月/年
-
[解決済み] DEFAULT NULLとCHECKBOX NULL mysqlの違いは何ですか?
-
[解決済み] ブーリアン値を格納するために使用するMySQLデータ型
-
[解決済み] MySQLで'insert if not exists'を行うにはどうしたらいいですか?
-
[解決済み] rake db:migrate db:reset とdb:schema:loadの違いについて
-
[解決済み】「INNER JOIN」と「OUTER JOIN」の違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「docker container run」は最低1つの引数を必要とする
-
[解決済み] 1030 ストレージエンジンからエラー28が発生しました
-
[解決済み] MySql テーブル、エラー#1064 & エラー#1068 複数の主キーが定義されている [終了] 。
-
[解決済み] mysqladmin: 'localhost'のサーバーへの接続に失敗しました。
-
[解決済み] MySQLにおけるOracleのRowIDに相当する。
-
[解決済み] JDBC経由でMySQLにUTF-8を挿入しようとすると、"不正な文字列値 "と表示される?
-
[解決済み] <TABLE> のテーブルストレージエンジンには、order by クエリでこのオプションがありません (ERROR 1031)。
-
[解決済み] 「他のデータベースへのクエリを無視する」コマンドライン
-
[解決済み] エラーコードです。1215. 外部キー制約を追加できません (外部キー)
-
[解決済み] MySQL でネストされたトランザクションは可能ですか?