作業上で必要となる文書資料を提供中
ドキュメントセンター 内部連携ナレッジ

HOME 

MySQLの文字コード採用における一般的な選択肢に関する報告 

[ 一覧へ戻る ]

 多くの文字コードが存在する中で、MySQLにおいて採用されるべく文字コードとは、一般的な選択肢としてEUC-JPとUTF-8があると言える。前者は現在までの標準的な文字コードと言えるが、後者は今後の導入において利用するべく標準的な文字コードと言える。サーバ敷設においては、移設やサーバ更新などでEUC-JPを採用するべきと言えるが、新設するサーバではUTF-8を採用していくことで長期的な観点から移行を促すべきであると考える。

MySQLの置かれた状況

 MySQLにおける文字コード設定は、特に、4.1以降でサーバ、データベース、クライアントなど、立場毎に設定ができるようになっており、文字コードの自動変換機能が、より多くの混乱を誘発している状況にある。特に、設定はサーバ毎で行うため、バーチャルホストを設定した場合における各利用者が、個別の文字コードを採用するため、設定することは難しい。my.cnf自体は、ユーザ毎に設定できる仕組みを備えているが、Apache上ではnobodyによる利用が基本となるため、個別のユーザ毎の設定も利用できないに等しい。(suexecなどの手段もあるので乗り越える手段はある。)

Shift-JISは望ましくない

 MySQLで使える文字コードの選択として、Shift-JISも選択肢に入るが、Shift-JISはUNIX上で取り扱うにあたり、問題となりやすいので推奨しない。単独のレンタルサーバにおいても、利用者が設定する能力を有しない場合は、許可すべきでない。Shift-JISは、Windows系で主に使われる文字コードだが、UNIX上で扱う際、EUC-JPとの混在を避けることはできず、文字コードの一部においてはEUC-JPとShift-JISを判別できない点があり、しばしば利用者側に混乱を誘発する。必要なのであれば、プログラム側で対処すべきことであって、サーバ側で対処するのは望ましいと言えない。

EUC-JPが推奨設定となる

 多くの問題に対応する意味でも、UNIX系のOSが稼働する環境でEUC-JPを標準的に利用することは、最も信頼できる設定と考えることもできる。EUC-JPによる日本語利用は、EUCが「Extended UNIX Code」の略であることからも分かるよう、UNIXにおける成果物であることから、最もUNIX環境に適している文字コードであると評価することができる。2バイト(マルチバイト)で表現され、文字は必ず0x80〜0xFFの範囲内にあることから、英数字と日本語文字の区別がしやすいのも特徴として挙げられる。現状のサーバにおける更新などでは、特に変更を要すべきでないと考えるときは、EUC-JPを継続的に採用するべきであると考える。

長期的にはUTF-8を導入

 近年はEUC-JPよりも新しい考え方が反映された、Unicodeが考案・標準化されており、UTF-8などの成果物が一般的に利用されている。MySQLでも、マルチバイト対応の観点から推奨される傾向にあり、今後の標準となることが予測される。例えば、CMSなどではUTF-8での利用を前提とした設計となっているものも多く存在する。すでにUTF-8の利用は難しいと言える状況ではなく、ブラウザなどの環境において問題が発生することも少なくなっていることから、新しく敷設するサーバにおいてはUTF-8を標準利用する文字コードとして採用することは適切であると言える。また、更新するサーバにおいても、積極的に採用を促していくべきであると言える。

公開日: 2006年05月11日   / 文書番号: 006713 / カテゴリ: 選択肢がありません / 閲覧数: 713 




ドキュメントセンター 内部連携ナレッジ
Copyright 1997-2008 generationact. all rights reserved.