過去にもあった質問なのですが、アドバイスお願いします。
perlからmysqlにアクセスしてデータを読み込むと日本語が「??????」と表示されます。
バージョンは下の通りです。
perl:ActivePerl-5.8.8.820-MSWin32-x86-274739
mysql:5.0
OS:windowsXP
mysqlの文字コードはstatusで確かめました。
mysql> status;
--------------
mysql Ver 14.12 Distrib 5.0.27, for Win32 (ia32)
Connection id: 74
Current database:
Current user: ******@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.27-community-nt
Protocol version: 10
Connection: localhost via TCP/IP
Server characterset: sjis
Db characterset: sjis
Client characterset: sjis
Conn. characterset: sjis
TCP port: 3306
Uptime: 3 hours 39 min 2 sec
Threads: 1 Questions: 232 Slow queries: 0 Opens: 26 Flush tables: 1 Open ta
bles: 0 Queries per second avg: 0.018
--------------
mysql> SELECT * FROM table1
と打てば、日本語は表示されます。
perlのコードのコードを書きます。
#!C:/usr/local/Perl/bin/perl
print "Content-type: text/html;charset=Shift_JIS\n\n";
use DBI;
$user = '***';
$passwd = '***';
$sql="SELECT * FROM categ";
----略(HTMLタグ)------
$db = DBI->connect('DBI:mysql:board:localhost', $user, $passwd);
$sth = $db->prepare($sql);
$sth->execute;
$num_rows = $sth->rows;
$categ_num=$num_rows;
for ($i=0; $i<$num_rows; $i++) {
@a = $sth->fetchrow_array;
print"$a[0] $a[1]<br>";
}
$sth->finish;
$db->disconnect;
----略(HTMLタグ)------
結果
0 ?????
1 ?????
ブラウザで文字の種類を変えても「?????」のままです。
mysqlのテーブルから取り出した値をjcode.plで変換しても変わらないようです。
&jcode::convert(\$categ[$i], "sjis");
print"<tr><td>no:$i $categ[$i] </td></tr>";
まだ、設定の足りないところがあるのでしょうか。
アドバイスお願いします。
No.1ベストアンサー
- 回答日時:
MySQLの4.1.15以降、5.0.13以降なら
my,ini またはmy.cnf のmysqld セクションに下記を追加
skip-character-set-client-handshake
mySQLは再起動。
perlで同じ経験をしました。
アドバイスありがとうございました!
日本語が表示されました!
アドバイス通りに
skip-character-set-client-handshake
を書き込んで再起動で解決できました。
ほんとに助かりました。ありとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
phpで複数のDBを使用した場合の...
-
接続ができません
-
副問合せにLIKE文を使う方法は...
-
like句を使って日本語を検索す...
-
mysqlへのインポート処理がうま...
-
postgreSQLのデータ型
-
MySQLカラム名は日本語と英数字...
-
Float型の時の計算結果がおかしい
-
シングルクォーテーションとダ...
-
[SQLserver]長文に適したデータ...
-
mysqlでの日本語文字化けについて
-
列数が多いと結果が行単位に改...
-
ポート3306へつながらず、MySQL...
-
クラスファイルでエラーが出て...
-
Interbase smp 2009 日本語版に...
-
MySQLの日本語LIKE検索について
-
phpmyadminから別ホストへの接...
-
VBAで変数内に保持された二次配...
-
ハングル文字が入らない。
-
MySQLのエラーの取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpで複数のDBを使用した場合の...
-
mysqlのデータベースの内容をph...
-
複数行のクエリを、まとめて実...
-
トランザクションが効かない
-
データベースの選択エラー
-
[MySQL]全くクエリーキャッシュ...
-
新規ユーザ作成・ログインでき...
-
PHP+MySQL on さくらサーバー
-
show databasesコマンドが効かない
-
緊急です。insert文が実行されない
-
MySQLが動かない(テーブルレコ...
-
Warning: mysql_num_rows()
-
C言語で変数の内容をINSERTする...
-
MySQLの更新が固まってしまう...
-
MySQLのINSERT文で変数展開がで...
-
初心者ですがupdateがうまくい...
-
PHPでMySQLテーブルロック一覧取得
-
接続ができません
-
ODP.NETのバージョン確認
-
副問合せにLIKE文を使う方法は...
おすすめ情報