2017-01-21 9 views
-1

Моя проблема заключается в полученииJavascript специальный символ не печатает правильно

вместо '™' Javascript.

У меня есть HTML-страница, в которой у меня есть форма, с помощью которой я отправляю файл в сервлет.

Сервлет обрабатывает файл и возвращает ответ, который находится в формате JSON.

Этот JSON содержит символы '™' в своем значении. Когда я печатаю json в servlet '™', печать выполняется правильно.

Но когда я возвращаю эту страницу JSON на HTML, и когда я пытаюсь распечатать ее на консоли, она печатает как .

Как я могу получить фактическую стоимость ..?

Это код фрагмента.

success : function(response) 
        { 
         console.log(response); //printing `�` 
         resp = JSON.parse(response); 
         console.log(resp);  // printing `�` 
        } 
+1

http://www.joelonsoftware.com/articles/Unicode.html – Biffen

+0

, что вы получили в HTML голове? –

+0

Обратите внимание, что JSON - это UTF8, а строки Java - UTF16, поэтому вам нужно обслуживать JSON как байты UTF8, поэтому вам нужно будет сделать что-то вроде byte [] outbuff = mystring.getBytes («UTF-8»); –

ответ

0

Я решил его с помощью UTF-8 кодировку символов в ответе. После линии ее решил:

response.getOutputStream().write(responseJsonObject.toJSONString().getBytes("UTF-8"));

-1

Попробуйте один из этого: ™ или ™