(URLは、ダミーです)
MySQLで保存したり、取り出したりするときに、
エスケープシーケンスを行えばいいかもしれません。
文字コードの中に¥とか%のコードが重なっている場合は、正常に動作できないので、あらかじめエスケープをしておくといいのでは?
私の場合は、EUC-JPで全て行っているのですが、これで大丈夫かと。。。
ちなみに、URLで示しているのは、私が個人的に作成しているサイト(全てEUC-JP)ですが、はしご高は、うまく動いているみたいです。メールなどでは、送信直前にJISに変換して送っています。
(PHPの例)
$a=mysql_real_escape_string('あ');
mysql_query("SELECT * FROM aaaaa where bbbbb={$a}");
> EUC-JPで扱っている範囲外の文字の一覧
そのものズバリというわけではありませんが,
それらを容易に抽出できる一覧表ならば私のサイトで公開しています.
文字コードに関する覚え書きと実験 http://www5d.biglobe.ne.jp/~noocyte/Programming/CharCode.html └→ 文字コード関連データファイル ├→ (1) シフトJIS / JIS X 0208 文字コード表 (シフトJISファイル) │ (現在の表示環境におけるシフトJISの2バイト文字集合を表示) └→ (2) Windows-31J (CP932) 文字コード表 (UTF-8/16BE ファイル)
(1) と (2) は同じ内容ですが,ファイルの文字コードが違います.
Windows 環境で見る場合にはどちらも同じですが,
非 Windows 環境で見る場合に違いが出るはずです.
で,EUC-JP の範囲外の文字の調べ方ですが,上記の表で "JIS X 0208" で
未定義の範囲ということになります.具体的には,
上記以外にも JIS X 0208 の未定義部分はありますが,そこに機種依存文字が
割り当てられてたという話は聞いたことがないので,たぶん大丈夫だと思います.
ありがとうございます。結構めんどうですね。