[前][次][番号順一覧][スレッド一覧]

mysql:15296

From: "TAKENAKA, Akikazu" <"TAKENAKA, Akikazu" <akikazu@xxxxxxxxxx>>
Date: Mon, 26 Apr 2010 18:16:39 +0900
Subject: [mysql 15296] 同じはずの環境で片方だけ文字化け

神奈川の竹中と申します。お世話になります。

ML #15248 とも一部重なるかと思い恐縮なのですが、どうしても解決できず困っています。
また、もしかしたらPHPユーザ会MLで聞いた方が適切かもしれないのですが、問題の切り分けができていません。

同一のPHPコード、同一のMySQLテーブルを使用して、2つの環境でテストを行っているのですが、片方だけ文字化けするという現象に困っています。

環境は下記の2ヶ所です。

【A】レンタルサーバheteml。
MySQLサーバ 5.0.82-community-log
MySQLクライアント 4.0.25
phpMyAdmin 2.11.2.2
PHP 5.2.8

【B】手元のMacBook(Mac OS X 10.5.8)。
MySQLサーバ 5.1.45
MySQLクライアント 5.0.82
phpMyAdmin 3.3.2
PHP 5.2.12

上記のそれぞれの環境で、下記のテーブルをphpMyAdmin上で作成しました。
下記のコードは、テーブル作成後に SHOW CREATE TABLE を発行した結果で、環境Aと環境Bでまったく同一でした。

CREATE TABLE `test` (
 `user_id` int(4) unsigned NOT NULL,
 `user_name` varchar(20) collate utf8_unicode_ci DEFAULT NULL,
 PRIMARY KEY  (`user_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

続いて、それぞれの環境で、phpMyAdmin上でデータを挿入しました。

INSERT INTO test (`user_id`, `user_name`) VALUES (1, '竹中彰一');

phpMyAdmin上、およびターミナル上でデータを確認したところ、どちらの環境でも正常に登録されていることがわかりました。

次に、下記のPHPコードで接続テストを行いました。
(シフトタブを全角スペースに置換しています)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>テスト</title>
</head>
<body>
<table>
<tr><th>ユーザID</th><th>名前</th></tr>
<?php
$con = mysql_connect($hostname, $userid, $passwd);
if (!$con) {
 die('MySQLへ接続できませんでした' . mysql_error());
}
mysql_select_db($dbname);
$ret = mysql_query("SELECT * FROM test");
while ($val = mysql_fetch_array($ret)) {
 $user_id = (string)$val['user_id'];
 $user_name = $val['user_name'];
 print '<tr><td>' . $user_id . '</td><td>' . $user_name . '</td></tr>';
}
mysql_close($con);
?>
</table>
</body>
</html>

このコードをFirefox 3.5.9で表示したところ、環境Aでは期待通り、下記の結果が返りました。
(抜粋)

<table>
<tr><th>ユーザID</th><th>名前</th></tr>
<tr><td>1</td><td>竹中彰一</td></tr>
</table>

しかし、環境Bでは文字化けしてしまいました。

<table>
<tr><th>ユーザID</th><th>名前</th></tr>
<tr><td>1</td><td>????</td></tr>
</table>

問題がMySQL側とPHP側のどちらにあるのかわからず、糸口がつかめない状態で困っております。
MacへのMySQLのインストールなどよくわからないままやったので、どこを調べればいいのかすらわからないのですが…

解決へのヒントや疑うべきポイントなど、ご教授いただければ幸いです。
よろしくお願いいたします。


-- 
equal1
竹中 彰一 (TAKENAKA, Akikazu)
akikazu@xxxxxxxxxx | www.equal1.net
Skype: equal1.at | iPhone: +81-90-8477-3901

[前][次][番号順一覧][スレッド一覧]

->   15296 2010-04-26 18:16 ["TAKENAKA, Akikazu" ] 同じはずの環境で片方だけ文字化け        
     15298 2010-04-26 21:31 ┣[Masaaki Matsuyama <m]                                       
     15301 2010-04-27 10:27 ┃┗["TAKENAKA, Akikazu" ]                                     
     15303 2010-04-27 10:37 ┃ ┗[Masaaki Matsuyama <m]                                   
     15304 2010-04-27 11:56 ┃  ┗["TAKENAKA, Akikazu" ]                                 
     15299 2010-04-26 21:42 ┣[Yuya Takeyama <sign.]                                       
     15302 2010-04-27 10:32 ┃┗["TAKENAKA, Akikazu" ]                                     
     15305 2010-04-27 12:44 ┗["Michiyoshi Buniu\(D]                                       
     15306 2010-04-27 13:19  ┗["TAKENAKA, Akikazu" ]