プロが教えるわが家の防犯対策術!

SQLite と php5でデータベース管理画面を作っていますが、
日本では正常に表示されますが、
中国からアクセスすると文字化けしてしまいます。
文字はソース上で下記のように設定しています。

mb_convert_encoding($aaa,"SJIS","EUC-JP");

SQLiteが、SJISに対応していないと思い、
monospaceに変換するように下記のように変更しました。

mb_convert_encoding($aaa,"monospace","EUC-JP");

しかし、画面上で
Warning: mb_convert_encoding() [function.mb-convert-encoding]: Unknown encoding "monospace"
in C:\Apache Group\Apache2\htdocs\aaa\aaa.php on line XXX
と出ます。

なにか解決策をご存知の方いらっしゃいましたら
お教えいただけると幸いです。
どうぞよろしくお願いいたします。

なお、ページ自体の文字設定は、
<meta http-equiv="Content-Type" content="text/html; charset=S-JIS">となっているところ、
ソース変更にともないこちらも、charset=monospace">と変更しました。

A 回答 (2件)

monospaceってフォントですよね。

エラーの内容より、少なくとも使用されているPHP環境ではそのような「エンコーディング」はサポートされていないことがわかります。
フォントの指定はhtml中かcssで行いましょう。

問題は中国にあるマシンがそもそもシフトJISを扱えるかどうかという点にある気がしますが。
ANo.1の方が書かれているように、可能であればファイルのエンコーディング、内部エンコーディング、出力エンコーディングなどすべてのエンコーディングUTF-8にした方がベターかと思います。
    • good
    • 0

全部utfで統一してから、不具合を直した方がいいのでは?

    • good
    • 0

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