• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PHP+Postgres 「髙」が文字化け)

PHP+Postgres 文字化けの解決方法

このQ&Aのポイント
  • DB上に格納した文字列を取得し、PHPで出力すると、一部の文字が化けてしまう問題が発生しています。
  • 文字コードの変換を試してみましたが、正常に出力することができませんでした。
  • ソースコードを書き換えるのを避けたいので、効果的な解決方法を教えてください。

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

  • ベストアンサー
  • agunuz
  • ベストアンサー率65% (288/438)
回答No.2

>EUC-JPで統一したのにこんな問題があったので・・。 EUC-JPで統一したのであれば、EUC-JPで扱えない文字を格納するのはやめましょう。eucJP-winというのもありますがPostgreSQLはeucJP-ms(NEC選定IBM拡張文字が存在しない)です。 http://msyk.at.webry.info/200511/article_2.html http://ja.wikipedia.org/wiki/EUC-JP というか今どき「文字コードを統一」するならutf-8以外の選択肢はないと思うのですが・・・ >他の文字コードにする場合ですが、PHPのソースと、データの文字コードを >変更するのは簡単なのでしょうか? PostgreSQLはあまり扱ったことがないのですが、基本的にはソースはテキスト処理系のソフトで一括変換、データベースもエクスポートしてからテーブル設定変更(というか削除して再作成)後にインポートという手順になります。

luca20110205
質問者

お礼

ご回答有難うございます。 > というか今どき「文字コードを統一」するならutf-8以外の選択肢はないと思うのですが・・・ そうだったんですね。。知識不足でした。 結局、DB、PHPソース共にUTF-8で作り直し、解決しました。 有難うございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.1

eucJP-winでも(13区あたりが使えるだけで)「はしごだか」や「たつさき」は含んでいなかったと思います。 (「はしごだか」を扱えない)EUCを使っている以上解決は難しいと思うけど、他の文字セットに変えることはダメなんですか?

luca20110205
質問者

お礼

ご回答有難うございます。 他の文字セットに変える場合、データとソースを全て修正する必要があるので、できれば避けたいというのが本音です。 また、文字コードについて自分でも調べていますが、この文字コードにすれば間違いなく大丈夫、という確証が得られないでいます。 PHPは初心者で、DBと画面の文字コードを同じにすれば大丈夫という情報があったので、EUC-JPで統一したのにこんな問題があったので・・。 他の文字コードにする場合ですが、PHPのソースと、データの文字コードを変更するのは簡単なのでしょうか?

すると、全ての回答が全文表示されます。

専門家に質問してみよう