2

私は最近、Java アプリケーションとして実行される Web サービスを作成しました (おそらく最良のアイデアではありませんが、PHP や英語などの他の言語よりも Java の方が流暢です:p)。Java アプリケーションは、単純に JSON データを System.out に出力します。

そして、Java アプリケーションを使用する小さな PHP スクリプトを作成しました。

ここに私のPHPスクリプトがあります:

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

問題は、すべての特殊文字 (「é」など) が「??」として出力されることです。

そのエンコーディングの問題を修正するために何ができるか考えていますか?

ありがとう

編集:java -jar webservice.jarシェルで実行すると、エンコードの問題はありません

4

3 に答える 3

1

-Dfile.encoding=UTF8Java呼び出しに追加することで問題を解決しました:

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

もっと良い解決策があるかもしれないと思いますが、それで私の問題は解決しました:)

于 2012-04-25T18:04:49.957 に答える
1

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

ダブルバイト文字を正しく処理していることを確認する必要があるようです:)

エンコーディングの詳細: http://illegalargumentexception.blogspot.com/2009/05/java-rough-guide-to-character-encoding.html

于 2012-04-24T18:37:53.263 に答える
0

エンコーディングは、運用システム、アプリ、bd など、多くの変数をカバーする問題です。

これに従ってみてください:http://www.phpwact.org/php/i18n/utf-8

于 2012-04-24T18:40:29.880 に答える