電子書籍の厳選無料作品が豊富!

現在、MYSQL+PHPを勉強中の初心者なのですが
PHPにて作成したフォームデータをレンタルサーバ上のデータベースへと入力するプログラムを作成したのですが送られた日本語データがphpmyadminで確認すると全て文字化けしてしまいます。
また、データベースのデータをブラウザ上に表示するPHPプログラムでもブラウザ上では文字化けしています。
おそらく、MYSQLの文字コードの指定がまずいとおもうのですがその指定する方法がわかりません。

サーバのOSはFREEBSDで
MYSQLは4.0を使用しています。
telnetを使用して、サーバにはアクセスしています。

各charsetは変数、セッション値、グローバル値の順に

client utf8 latin1

connection sjis latin1

database latin1 latin1

results utf8 latin1

server latin1 latin1

system utf8 utf8

character sets dir
/usr/local/share/mysql/charsets/
/usr/local/share/mysql/charsets/

collation connection
sjis_japanese_ci latin1_swedish_ci

collation database
latin1_swedish_ci latin1_swedish_ci

collation server
latin1_swedish_ci latin1_swedish_ci

となっています。

この質問掲示板も確認したのですが
my.cnfやmy.ini等のファイルがサーバ上に
見つからず質問させて頂いております。
どうぞ、よろしくお願い致します。

A 回答 (2件)

私はMySQL4.1で文字化けが起こったので、質問者さんのMySQL4.0のケースとは違うかも知れませんが、参考になれば。

その時の対処法です。

まず、日本MySQLユーザー会

4.1以上の壁 (日本語の扱いの違い、文字化け等/含む5.0以上)
http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ# …

ここを参照して、

$dbHandle = mysql_connect("サーバ名","ユーザー名","パスワード");
$db="データベース名";
mysql_query("SET NAMES SJIS");
$sql = "select * from データーベース名 where ・・・(以下省略)

という風に、データベースに接続直後にmysql_query("SET NAMES SJIS");(私はSJISを使っているので)という一文を挿入すると文字化けがなくなりました。

下記サイトも参考になるかも知れません。

MySQL 4.1 リファレンスマニュアル
http://dev.mysql.com/doc/refman/4.1/ja/index.html

日本MySQLユーザ会
http://www.mysql.gr.jp/

オールアバウト MySQL関連記事一覧
http://allabout.co.jp/career/database/closeup/CU …
    • good
    • 0

初めに謝らなくてはいけないのですがmy.cnfやmy.iniについては知りません、


レンタルサーバーの場合は本当にそういうの面倒ですよね。。。
私もレンタルサーバーなので気持ちは判ります。

もう試しているかもしれないのですが一応簡単な回避策を…、
ブラウザからの入力&出力ですよね?ならばサイトのソースに
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
としてみてください、この状態で入力→出力を試して
成功してたらラッキー、失敗だったら。。。
ただDBの方でもUTF-8な訳だからサイトも合わせなければ
文字化けするはずです。

気休めで効果がないのかも知れません、試してダメだったのかも知れません、
my.cnfやmy.iniについてのお答えができないのが心苦しいのですが…
頑張って下さい!
    • good
    • 0
この回答へのお礼

お礼が遅れ、申し訳ありません。

試してみたところ、やはり文字化けしてしまいました。

MYSQLのバージョンを下げるしか
ないんでしょうかねぇ・・・;;

お礼日時:2005/07/22 11:44

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報