1153386344 Linuxで漢字の画像を生成したいと考えています。


■開発環境
Redhat9

HTMLフォームからテキストを入力し
PHPのスクリプトから シェルを実行し画像を生成(ImageMagick)しています。
英数字に関しては、問題なく生成されるのですが
日本語が化けてしまします。(添付画像)

スクリプト上で
EUCへ変換、UTF8へ変換
のエンコードを行っておりますが改善されませんでした。

サーバ上に日本語フォント(RPM)を入れて再度試してみたのですが うまくいかず
インストールが悪いのか、フォントしていのコマンドが悪いのか分からない状況になっています。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:2006/07/20 18:05:46
  • 終了:2006/07/27 18:10:03

回答(3件)

id:hive7134 No.1

hive7134回答回数167ベストアンサー獲得回数162006/07/20 18:34:13

ポイント27pt

文字コードの問題かと思われます。

ためしにコマンドライン上で

$ convert -font /usr/share/fonts/japanese/TrueType/kochi-gothic-subst.ttf -pointsize 13 -fill blue -draw "text 20,30 'こんにちは'" old.png new.png

としたところ、日本語の表示には問題ありませんでした。


http://q.hatena.ne.jp/1125040950

id:bayfm

残念ながら文字化けしました。フォントを変えたり、エンコードを変えたりしましたがダメでした。参考までに使用OSや環境などを教えていただけますでしょうか。

2006/07/20 22:46:08
id:yocchan731 No.2

yocchan731回答回数119ベストアンサー獲得回数142006/07/20 18:36:37

ポイント27pt

フォントを指定するときにフルパスで指定すると,うまくいくかもしれません.

以下は参考になりそうなURL.

http://www.rescue.ne.jp/CGI-BBS/image/magic/20031016172346.shtml

http://blog.unknown.jp/mt/archives/000423.html

id:bayfm

フルパスで指定しています。

2006/07/20 22:45:10
id:hive7134 No.3

hive7134回答回数167ベストアンサー獲得回数162006/07/21 01:52:11

ポイント26pt

OSはFedoraCore4です。

ImageMagickはRPMで導入しております。

Version: ImageMagick 6.2.2 05/24/06 Q16 file:/usr/share/ImageMagick-6.2.2/doc/index.html

Copyright: Copyright (C) 1999-2005 ImageMagick Studio LLC

Puttyからアクセスしていますが、文字セットは「UTF-8(CJK)」です。


<?php
$font = "/usr/share/fonts/japanese/TrueType/kochi-gothic-subst.ttf";
$old = "old.png";
$new = "new.png";
$string = mb_convert_encoding("aiueoあいうえお", 'UTF-8', 'SJIS');

$command = "convert -font $font -pointsize 10 -fill red -draw \"text 20,30 '$string'\" $old $new";

exec($command, $out, $ret);
?>

<html>
<body>
<p>command = <?=$command?></p>
<pre><?php var_dump($out,$ret);?></pre>
<hr>
<img src="<?=$old?>"> => <img src="<?=$new?>">
</body>
</html>
</code>

を文字コードSJISで作成し、アップロード・実行したところ、以下のように無事表示されました。

command = convert -font /usr/share/fonts/japanese/TrueType/kochi-gothic-subst.ttf -pointsize 10 -fill red -draw "text 20,30 'aiueoあいうえお'" old.png new.png

array(0) {
}
int(0)


[無地の画像] => [文字入りの画像]

http://q.hatena.ne.jp

id:bayfm

OSを同じにしたらできました。何が原因なのかは結局わかりませんでした…

2006/07/25 09:04:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません