PHP+MySQLでプログラムを書いています。あまり経験はありません。


で、一部の文字だけ化けるという現象が起こっています。
例)パソコン→パャRン

コレは一体なんでしょう?
どうすれば避けられますか?

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:
  • 終了:2008/09/16 01:30:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答5件)

id:ahirusan No.1

回答回数229ベストアンサー獲得回数3

ポイント20pt

他の漢字コードをJISコードと誤認しているのではないでしょうか。そうすると「例)パソコン→パャRン」の説明がつきます。

http://e-words.jp/w/JISE382B3E383BCE38389.html

PHPを知らないので、避ける方法はわかりません。ごめんなさい。

id:tkms556 No.2

回答回数5ベストアンサー獲得回数1

ポイント20pt

文字化けしています。

phpやmysqlは基本的には英語にしか対応していないのでこういう事が起きるので以下のように対処するケースが多いです。

漢字コードをUTF-8に統一するか、あるいは、データ-ベースにinsertする際にurlencodeすると良いと思います。あるいはsjisをどうしても使用したい場合は「¥(半角)」でクォーティングしても良いと思います。クォーティングする場合は「表、ソ、、、」など一部の文字だけそうなりますので特定の文字だけするか、いっそ、全部やってしまうと手間がかかりません。

個人的には利便性を考えると漢字コードをUTF-8に統一してしまったほうが面倒がなくてよいと思います。

サーバーの仕様等がわからないのですが、以上の方法だと大体どこでもトラブルを回避できると思います。

http://yahoo.co.jp(URLはダミーです)

id:pahoo No.3

回答回数5960ベストアンサー獲得回数633

ポイント20pt

PHP から MySQL にテキストを保存したり取り出したりするときに文字化けが起きていますか?

であれば、PHP の文字コードの設定と、MySQLの文字コードの設定が合っていないことが考えられます。

PHP の文字コードの設定については「PHPスクリプトでの日本語文字化け対策用php.iniの記述」を、MySQL の文字コードの設定については「文字化けのメカニズム」を参考にしてください。

id:yumisaiki No.4

回答回数70ベストアンサー獲得回数3

ポイント20pt

文字化けしているデータだけがUTF-8の形式になってないのかもしれません。

情報を格納するときのPHPのプログラムがutf-8で書かれてないのでは?

http://yumisaiki.blogspot.com/2008/09/php5-data.html

id:yuu510 No.5

回答回数6ベストアンサー獲得回数0

ポイント20pt

PHP、MySQL共に使用する文字コードの設定が可能です。

その文字コード設定が一致していない可能性が考えられます。

これを確認して、一致していなければ一致させてみましょう。

下記が参考になるかと思います。

http://b.hatena.ne.jp/entry/6126033

  • id:a14
    まず、php.iniとmysqladminの設定を書いてみてくれ。話はそれからだ。
    俺の予想だとMySQLのエンコードがあってないだけだと思うぞ。
  • id:freewriter
    ご丁寧にありがとうございます。


    レンタルサーバのphp.ini(修正可能)を見ると、
    現在はdefault_charset未設定ってなっています。

    SQLはphpMyAdminでsjisにしています。


    ・・つまりphp.iniをsjisに修正すればいいだけなんでしょうか?

  • id:freewriter
    補足です。

    phpで出力するときだけでなく、SQLの中で既に化けてます。
    CSVからインポートしたんですがそのときに化けたんだと思います。

    ひきつづき宜しくお願いします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません