人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHP + MySQL での日本語がらみの質問です。

ホスティングで CPI を利用しています。
php の関数で、mysql_client_encoding() を実行すると "ujis" と返ってきます。

動作確認用の CentOS5 が手元にあるのですが、この環境で実行すると"latin1" が返ってきます。
CentOS側で "ujis" と返ってくる(CPI と同じ環境にする)ようにするにはどうしたら良いですか?

●質問者: naopontan
●カテゴリ:インターネット ウェブ制作
✍キーワード:CentOS CPI MySQL PHP ホスティング
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● azumi1975
●23ポイント

http://pochi.orz.ne.jp/oasis/archive_158.htm

真ん中あたりにかかれています。

◎質問者からの返答

OSの文字コードを変更するということでしょうか?


2 ● goog20090901
●23ポイント

MYSQLの文字コードの設定を変更

http://www.avant-tokyo.com/linux/mysql_character_set.html

◎質問者からの返答

試してみましたが、変化ありませんでした。

■変更前

 mysql> show variables like 'character_set%';
 +--------------------------+----------------------------+
 | Variable_name | Value |
 +--------------------------+----------------------------+
 | character_set_client | latin1 |
 | character_set_connection | latin1 |
 | character_set_database | latin1 |
 | character_set_filesystem | binary |
 | character_set_results | latin1 |
 | character_set_server | latin1 |
 | character_set_system | utf8 |
 | character_sets_dir | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+

■変更後

 +--------------------------+----------------------------+
 | Variable_name | Value |
 +--------------------------+----------------------------+
 | character_set_client | ujis |
 | character_set_connection | ujis |
 | character_set_database | ujis |
 | character_set_filesystem | binary |
 | character_set_results | ujis |
 | character_set_server | ujis |
 | character_set_system | utf8 |
 | character_sets_dir | /usr/share/mysql/charsets/ |
 +--------------------------+----------------------------+

httpd, mysql を再起動するが、"latin1" のままです。(>_<)


3 ● emu2929
●22ポイント

my.cnf(もしくはmy.ini)に以下の設定を追加してみたらどうでしょう?


[mysqld]

default-character-set = ujis

skip-character-set-client-handshake

[client]

default-character-set = ujis
◎質問者からの返答

うーん、、、変わらないですねぇ…。

(具体的な指示で分かりやすかったです。感謝)


4 ● scrap49
●22ポイント

mysql_set_charset関数で設定できます。

echo mysql_client_encoding();

mysql_set_charset(utf8);

echo mysql_client_encoding();

mysql_set_charset(ujis);

echo mysql_client_encoding();


http://php.net/manual/ja/function.mysql-set-charset.php

http://labs.uechoco.com/blog/2007/09/mysql_set_charset_vs_set_na...

◎質問者からの返答

以下のエラーとなってしまいました。

MySQLのバージョンアップも検討してみます。

ちなみに当方の環境は 5.0.22 でした。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ