で、一部の文字だけ化けるという現象が起こっています。
例)パソコン→パャRン
コレは一体なんでしょう?
どうすれば避けられますか?
他の漢字コードをJISコードと誤認しているのではないでしょうか。そうすると「例)パソコン→パャRン」の説明がつきます。
http://e-words.jp/w/JISE382B3E383BCE38389.html
PHPを知らないので、避ける方法はわかりません。ごめんなさい。
文字化けしています。
phpやmysqlは基本的には英語にしか対応していないのでこういう事が起きるので以下のように対処するケースが多いです。
漢字コードをUTF-8に統一するか、あるいは、データ-ベースにinsertする際にurlencodeすると良いと思います。あるいはsjisをどうしても使用したい場合は「¥(半角)」でクォーティングしても良いと思います。クォーティングする場合は「表、ソ、、、」など一部の文字だけそうなりますので特定の文字だけするか、いっそ、全部やってしまうと手間がかかりません。
個人的には利便性を考えると漢字コードをUTF-8に統一してしまったほうが面倒がなくてよいと思います。
サーバーの仕様等がわからないのですが、以上の方法だと大体どこでもトラブルを回避できると思います。
http://yahoo.co.jp(URLはダミーです)
PHP から MySQL にテキストを保存したり取り出したりするときに文字化けが起きていますか?
であれば、PHP の文字コードの設定と、MySQLの文字コードの設定が合っていないことが考えられます。
PHP の文字コードの設定については「PHPスクリプトでの日本語文字化け対策用php.iniの記述」を、MySQL の文字コードの設定については「文字化けのメカニズム」を参考にしてください。
文字化けしているデータだけがUTF-8の形式になってないのかもしれません。
情報を格納するときのPHPのプログラムがutf-8で書かれてないのでは?
PHP、MySQL共に使用する文字コードの設定が可能です。
その文字コード設定が一致していない可能性が考えられます。
これを確認して、一致していなければ一致させてみましょう。
下記が参考になるかと思います。
コメント(3件)
俺の予想だとMySQLのエンコードがあってないだけだと思うぞ。
レンタルサーバのphp.ini(修正可能)を見ると、
現在はdefault_charset未設定ってなっています。
SQLはphpMyAdminでsjisにしています。
・・つまりphp.iniをsjisに修正すればいいだけなんでしょうか?
phpで出力するときだけでなく、SQLの中で既に化けてます。
CSVからインポートしたんですがそのときに化けたんだと思います。
ひきつづき宜しくお願いします。