2012-04-24 12 views
2

私は最近、Javaアプリケーションとして動作するWebサービスを作成しました。(おそらくベストアイデアではありませんが、PHPや英語のような他の言語よりもJavaに慣れています。 Javaアプリケーションは単にJSONデータをSystem.outに出力します。PHPとJavaのエンコーディングの問題

そして、私はJavaアプリケーションを使用する小さなPHPスクリプトを書いた。ここで

は私のPHPスクリプトです:

ob_start('ob_gzhandler'); 
header("Content-Type: application/json; charset=UTF-8"); 
passthru("java -jar webservice.jar "); 

問題が(「E」のような)全ての特別な文字は「??」として出力されるということです

私はそのエンコードの問題を解決しようとする可能性はありますか?

おかげ

編集:私は貝にjava -jar webservice.jarを実行すると、私は何のエンコーディングの問題を持っていない

+0

これはブラウザかコマンドラインか? –

+0

シェルコマンドラインにはエンコードの問題はありません(この事実を追加するために編集された投稿)。ブラウザ(または私のモバイルクライアントアプリ)では、問題が表示されます。そのため、PHPスクリプトに関連していると思います。 – Estragon

+0

@Estragon出力が実際にUTF-8でエンコードされていますか?ブラウザーでエンコードをラテン語に変更するとどうなりますか? – madflow

答えて

1

私は私のJavaのコールに-Dfile.encoding=UTF8を追加することによって、私の問題を解決しました:

java -Dfile.encoding=UTF8 -jar webservice.jar 

私は多くの変数をカバーroblemもっと良い解決策があるかもしれないと思うが、それで私の問題は解決した。:)

関連する問題