ヒンディー語のみの音声テキストのWebサイトを開発しています。しかし、私は次の問題を抱えており、適切な解決策を見つけることができませんでした。ヒンディー語のテキストが正しく表示されない
入力:102सुरंगों (例えば)
出力:(एकसौदो)_ NSWसà¥à¤°à¤à¤à¥
一方à¤数値部分が正しく解釈された場合、テキストは間違って処理されます。以下のようにしても、入力の変化:102सà¥à¤°à¤à¤à¥à¤
正しい出力がなければならない:(एकसौदो)_ NSWसुरंगों
これは、ボタンクリック時に呼び出されるindex.jsp内のコードです。
function submitPreprocessForm() {
var postData=$("#maryWebClient").serializeArray();
$.ajax({
url: "preprocess",
context:this,
type:"POST",
dataType:"json",
data:postData,
success: function(response){
$("#INPUT_TEXT").val(response["x"]);
$("#INPUT_TEXT2").val(response["y"]);
},
error: function(errorData){alert(errorData);}
});}
そして、これは、モジュール(その一部)は前処理のテキストを表示するためのurlPatternsを使用して呼び出されます。
Preprocessor.java
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException, Exception {
response.setContentType("application/json;charset=utf-8");
PrintWriter out=response.getWriter();
String sent=request.getParameter("INPUT_TEXT");
sent=sent.trim();
NewJFrame2 njf=new NewJFrame2();
String p=njf.read(sent);
Map m1 = new HashMap();
m1.put("x", sent);
m1.put("y", p);
Gson gson = new Gson();
String json = gson.toJson(m1);
System.out.println(json);
out.write(json);
out.close();
}
親切に私のミスに私を導きます。
注:NetBeansプロジェクトのプロパティとweb.xmlでエンコードをチェックしました。どちらも「UTF-8」に正しく設定されています。
あなたは 'request.getParameter()'メソッドを使ってUTF-8で入力する必要があります。この質問を参照してください:[HttpServletRequest UTF-8エンコーディング](http://stackoverflow.com/questions/16527576/httpservletrequest-utf-8-encoding) – progyammer
コントローラからの応答をどこから送信しますか? –
@progy_rockどうすればいいですか、少し具体的にお願いしますか? – coder0007