重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

初歩的な質問で申し訳ありませんが、大変困っております。ただいま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

なぜなのか原因が分からなく困っております。
どなたかご教授願いませんでしょうか?
よろしくお願い致します。

A 回答 (1件)

いろいろとテストしましたがきちんとUTF-8と認識しますよ?


$strの中身に問題があって誤認識しているのかもしれませんので
他の文字列で確認してみて下さい。

そしてわかっているとは思いますが
日本語文字を画像出力する場合は日本語対応のフォントを使ってくださいね。

この回答への補足

ご回答有り難うございます。

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

補足日時:2007/11/07 12:01
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!