[PHP-users 25636] Re: DBの文字エンコード

田中 正幸 mtanakaml @ yuki.ad.jp
2005年 5月 19日 (木) 12:54:08 JST


田中です

> DBがEUC-JPで動いているときに
> 出力するHTMLがShift-JISだと、どこかの段階で
> DBの出力を文字コード変換してやる必要があります。
> みなさんはどういうやり方で文字コード変換をしているのでしょうか。

PostgreSQLはバックエンドとフロントエンドの文字コード変換を自動で行うため
接続時にencodeを指定するか

SET CLIENT_ENCODING TO 'encoding';

などの形で文字コードを指定することができます

MySQLは、、、ちゃんと利用したことがないですが調べてみると

character_set_client
  クライアントから渡された SQL 文はこの文字コードであると解釈される。

character_set_results
  サーバーがクライアントに返す結果をこの文字コードに変換する。
  この変数を NULL にセットすると、結果に対する文字コード変換をしないよ
  うにできる。

いろいろみたところ、あまり推奨されていない?
基本はやっぱり、DBと出力はあわせちゃうのが一番ですけれどね

田中



PHP-users メーリングリストの案内