mysql:7063
From: tamura <tamura <zai91210@xxxxxxxxxx>>
Date: Thu, 27 Feb 2003 02:35:27 +0900
Subject: [mysql 07063] Re: character-set の考え方
田村です。 石野さん、ありがとうございます。 > MySQLはPostgreSQLなどと違い、サーバー側で文字コードの変換はしません。 > 基本的にクライアント側から送られたデータがそのままサーバに格納されます。 > my.ini(my.cnf)で指定した文字コードでデータを送るのは、クライアントの > 責任です。 はい、そうでした。 > > ( > ソフトエージェンシー http://www.softagency.co.jp/mysql/my_pro.html から > ダウンロードできるMyODBCとmysql.exeを使えば、ODBCとmysql.exeに関する限り > SJIS(クライアント側) <-> EUC(サーバ側)変換はできます。 > ただし、この中に含まれるlibmysql.dllはなぜか、折角のこのオプションを有効に > して作成されてないようです。 > ) > > > したがって、例えば > PHP(mbstring.internal_encoding = EUC-JP) -> MySQL (SJIS) > という構成だと、phpのプログラム上で発行するSQLをSJISに変換する必要があります。 > このオーバーヘッドが気になるなら、MySQLはEUC-JPで構築するしかないと思います。 後のHTTPヘッダ問題が、未解決ですので、オーバーヘッドには目を瞑って、以 下の関数で処理しました。 function cnv_dispstr2($string) { $string = mb_convert_encoding($string, "UTF-8", "auto"); $string = nl2br($string); return $string; } > <META http-equiv="Content-Type" content=".....">よりも > HTTPヘッダの方が優先しますので、php.iniでdefault_charsetの > 指定をしてなかったりしてるんじゃないでしょうか。 はい、抜けておりました。Apacheの設定だと、勘違いをしてました。 default_charset = "Shift_JIS"としました。 > $ echo OK | php.exe > とでもして確かめてみると良いと思います。 X-Powered-By: PHP/4.1.2 Content-type: text/html でしたが、 X-Powered-By: PHP/4.1.2 Content-type: text/html; charset=Shift_JIS のように正常に表示されました。 早速UTF-8をShift_JISに戻さないと、、、 > (PHPに関しては、最近触ってないので、最新の版では違うかもしれません。) いえいえ、本当にありがとうございました。 -- tamura <zai91210@xxxxxxxxxx>
7058 2003-02-26 17:26 [tamura <zai91210@xxx] character-set の考え方 7060 2003-02-26 21:54 ┣[とみたまさひろ <tomm] 7062 2003-02-27 02:08 ┃┗[tamura <zai91210@xxx] 7064 2003-02-27 09:19 ┃ ┗[ML account <ml@xxxxx] 7074 2003-02-28 01:53 ┃ ┗["Tamura/TamRam" <zai] 7061 2003-02-26 22:19 ┗[Tomoyuki Ishino <ish] -> 7063 2003-02-27 02:35 ┗[tamura <zai91210@xxx]