※ ChatGPTを利用し、要約された質問です(原文:MySQLでAU携帯にも対応させるための設定)
MySQLでAU携帯にも対応させるための設定
このQ&Aのポイント
MySQLで携帯、PC、両方で使えるサイトを構築するための設定方法について紹介します。
UTF8で構築したサイトをauブラウザで正しく表示させるためにはどのような工夫が必要でしょうか?
MySQLのデフォルト文字コードや接続照合順序、テーブルの文字コードなどの設定について詳しく解説します。
携帯、PC、両方で使えるサイトをMySQLで構築中です。
当初、UTF8で構築していましたが、「auブラウザ、いまだにUTF-8が使えず!」という記事発見したことにより、急遽、EUCに変更しました。(http://symple.jp/113.html)
ところが、EUCの場合、漢字がGETコマンドで正しく送信できないことが判明しました。
(FORMタグに accept-charset="euc-jp,us-ascii" を付けても、JIS X0208.1990 の6878文字中、2743文字の文字エンコーディングが正しく検出されず、UTF8と誤認識される。実際にテストで経験済み)
http://www-ise3.ist.osaka-u.ac.jp/miura/?PHP%20GET%2FPOST%A5%E1%A5%BD%A5%C3%A5%C9%A4%C7%A4%CE%C6%FC%CB%DC%B8%EC%A4%CE%CA%B8%BB%FA%B2%BD%A4%B1%CB%C9%BB%DF
私が作りたいサイトは日本語で検索できる必要があるため、やはりUTF8で作らなければならないようです。
質問です。
サーバー側はUTF8で作らなければならないようです。
でも、そうすると、「auブラウザ、いまだにUTF-8が使えず!」に引っかかってしまいます。
このようなサイトは決して少なくないと思いますが、UTF8にも関わらずでAU携帯でも問題なく見れるサイトはどのような工夫をされているのでしょうか?
●MySQLサーバーのデフォルト文字コード
●MySQL の接続照合順序:の文字コード
●テーブルの文字コード
●テーブルの接続照合順序:の文字コード
●フォームの文字コード
をどう設定しているのでしょうか?
またPHPのソースに何かを追加するのでしょうか?
情報提供、宜しくお願い致します。
現在の検索ソースは下記となります。
(県名を漢字で入力し、住所群から対象の住所録を抽出する)
search.php
<?PHP
// サーバーデータベース記録情報接続
require_once '../../config_n_reform.php';
require_once '/usr/share/pear/DB.php';
$db = DB::connect($dsn);
if (PEAR::isError($db)) {
die($db->getMessage());
}
print('接続に成功しました<br>');
$db->query('SET NAMES UTF8');
if (PEAR::isError($db)) {
die($db->getMessage());
}
$sql = 'select * from city_code';
if(isset($_GET['pre_name'])){
$sql = "select * from city_code where pre_name = '" .addslashes($_GET['pre_name'])."'";
}
$res =& $db->query($sql);
if (PEAR::isError($res)) {
die($res->getMessage());
}
while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
print($row['pre_name'].'<br>');
print($row['city_name'].'<br>');
print($row['city_kana'].'<br>');
print($row['kyuu_cho'].'<br>');
}
$db->disconnect();
?>
フォーム
<form name="form2" action="search.php" method="get">
<input type="text" name="pre_name" size="25">
<input type="submit" name="search" value="検索"><br />
<input value="pre_name検索開始" type="submit" />
</form>
お礼
有難うございます。やはり、UTF8でサーバーを作り、フォームはエンコードを付けるものなのですね。勉強になりました。有難うございました。 ソースも参考とさせていただきます。