• 締切済み

Shift-JISからUTF-8への変換が出来ません

初歩的な質問で申し訳ありませんが、大変困っております。ただいまimagettftext()を使って日本語主力したく悪戦苦闘しております。  ページ自体はShift-JISで制作していますのでimagettftext()で日本語を出力する場合はUTF-8へ変換して出力するところまでは知れべていて分かりました。しかしいざmb_convert_encoding()で変換しようとするとなぜかUTF-8へ変換されません。 $str = mb_convert_encoding($str,"UTF-8","SJIS"); print mb_detect_encoding($str);  結果→SJIS しかしこれがEUC-JPなら変換されます。 $str = mb_convert_encoding($str,"EUC-JP","SJIS"); print mb_detect_encoding($str);  結果→EUC-JP なぜなのか原因が分からなく困っております。 どなたかご教授願いませんでしょうか? よろしくお願い致します。

みんなの回答

  • calltella
  • ベストアンサー率49% (317/635)
回答No.1

いろいろとテストしましたがきちんとUTF-8と認識しますよ? $strの中身に問題があって誤認識しているのかもしれませんので 他の文字列で確認してみて下さい。 そしてわかっているとは思いますが 日本語文字を画像出力する場合は日本語対応のフォントを使ってくださいね。

tetsu222
質問者

補足

ご回答有り難うございます。 日本語対応のフォントはTTFを置いとけば良いんですよね? それは何となく分かったのですが、いろいろ試して見ても、 $str = mb_convert_encoding($str,"UTF-8","SJIS"); print mb_detect_encoding($str);  結果→SJIS なぜか変換が出来ずSJISのままです。

関連するQ&A

専門家に質問してみよう