2016-10-17 2 views
2

HTTPレスポンスの文字エンコーディングをUTF-8に設定する必要があります。appengineを使用したUTF-8レスポンスエンコーディング

JsonObject jsonObject; 

resp.setContentType("application/json; charset=UTF-8"); 
//resp.setCharacterEncoding("UTF-8"); 
PrintWriter out = resp.getWriter(); 
out.print(jsonObject.toString()); 

私は特定の応答方法を使用して、コンテンツタイプにエンコーディングを設定しようとappengine-web.xml

<property name="file.encoding" value="UTF-8" /> 
<property name="DEFAULT_ENCODING" value="UTF-8" /> 

上のシステムプロパティを持つすべてのメソッドの作業罰金をローカルではなく、とき私は自分のアプリケーションをデプロイしていますApp Engineの文字エンコーディングが正しく行われず、JSONレスポンスの文字列 がブラウザに表示されるのはUTF-8ではありません。私に何ができる?エンコーディングエラーがPrintWriterである

答えて

0

場合は、前述したように、応答はない文字列が、文字の配列に書き込みを試みることができます。

out.print(jsonObject.toString().getBytes("UTF-8")); 

は、そうでなければ、このようなGSONとしてJSONを生成するために、別のライブラリを試してみてください。

Gson gson = new GsonBuilder().create(); 
out.print(gson.toJson(Your_Object)); 
関連する問題