• ベストアンサー

文字コードについて

けいすけ(圭介)をpostgresに登録すると 文字化けが起こってしまうので困っています addslshesを使用しても 圭\介 となってしまいます。 どなたか解決方法を教えてください お願いします

質問者が選んだベストアンサー

  • ベストアンサー
  • taba
  • ベストアンサー率61% (349/567)
回答No.3

補足が入っていたのに、回答を忘れていました。ごめんなさい。 参考URLにある日本語化パッチが当たっているPHPなら、文字コードをPHP内で変換する関数が使えます。DBへ保存するときにEUCへ明示的に変換してください。 英語版の場合は、ソースをEUCに変換して動かせば、フォームから受け取った日本語部分もEUCのままだと聞いています。ただ、こっちは経験がないので、保証はできません。

参考URL:
http://php.jpnnet.com/
MAGI
質問者

お礼

ご返答ありがとうございます。 既存のソースを全てeucに直すのも大変だなぁ^^; とりあえず、自前コード変換から作成して対応していきたいと思います。 ありがとうございました

その他の回答 (2)

  • KTFM
  • ベストアンサー率28% (12/42)
回答No.2

仕事でPHPを使っています、そこで聞いた話です。 この現象はS-JISのコードで「nn5C」(nnは任意のコード)の文字の場合に 「ソ\」や「予\」のように表示される現象だとおもいます。 「5C」は「\」マークを表す特殊な記号の為このような現象が起こるそうです。 これはPHPの国際化パッチを適用して、php3.iniのmagic_queotes_gpcをoff に変更することで防ぐことができるということです。私自身はPHPの設定など をいじったことはないのでこれ以上詳しいことはわかりません。 ヒントにしてください。

MAGI
質問者

お礼

どうもありがとうございます。 国際化パッチを適用せずに自前で文字コード変換の 関数を作るというのは無謀でしょうか? PHPで既にあるのでしょうか? システムをさわるのは避けたいのです。

  • taba
  • ベストアンサー率61% (349/567)
回答No.1

圭介が化けるということなので、おそらく文字コードがSJISなのではないかと思います(参考URL参照)。 いちばん簡単な回避方法は、利用する文字コードをEUCに変えることでしょう。 PHPが日本語化されていれば、文字コード変換の関数が使えると思います。

参考URL:
http://www.psl.ne.jp/perl/pdojo00c.html
MAGI
質問者

補足

返事が遅れましてすみませんm(__)m 色々調べているのですが PHPのAddSlashes関数を使用しても駄目で^^; SJIS -> EUC に変換するとの事ですが それは、DBに更新する時にすれば いいのでしょうか? よろしくお願いします

関連するQ&A

専門家に質問してみよう