UTF-8 изход от услугата Socialcast Rest Api

Използвам Socialcast rest api с CURL. Ето моята команда curl,

`curl -k -X GET -v --basic -u "email:password" https://<dpmain>.socialcast.com/api/messages/18755210.json`

Резултатът за горната команда е,

{"message":{"id":18755210,"user":{"id":964633,"name":"username","url":"myrepo","username":"myname","active":true,"te
rminated":false,"inactive":false,"role":"member","type":"User","title":"SE","out_of_office":false,"back_in_office_on":null,"company_login":null},"title":"","body":"\"\u
0db8\u0dad\u0dca \u0d9a\u0dd4\u0da9\u0dd4 \u0d9a\u0db1\u0dca\u0da7\u0dda\u0db1\u0dbb\u0dba \u0dc3\u0db8\u0dca\u0db6\u0db1\u0dca\u0db0 \u0dc3\u0dd2\u0daf\u0dca\u0db0\u0d
d2\u0dba\u0dda\u0daf\u0dd3 \u0d85\u0d9c\u0db8\u0dd0\u0dad\u0dd2\u0dc0\u0dba\u0dcf\u0d9c\u0dda \u0dbb\u0dd9\u0daf\u0dca\u0daf \u0d9a\u0dd0\u0d9e\u0dd3 \u0db1\u0dd2\u0dbb
\u0dd4\u0dc0\u0dad \u0db4\u0dda\u0db1\u0dca\u0db1\u0dda \u0da2\u0dcf\u0dad\u0dd2\u0d9a \u0dc4\u0dd9\u0dc5 \"","action":"","verb":null,"message_type":"status_message","i
con":null,
"external_url":"","created_at":"2013-12-14T14:43:01+00:00","updated_at":"2013-12-14T14:43:01+00:00","likes":[],"likes_count":0,"comments":[],"comments_count":0,"attachm
ents":[],"media_files":[],"contains_url_only":true,"external_resources":[],"tags":[],"last_interacted_at":1387032181,"group":{},"category_id":null,"recipients":[],"thum
bnail_url":null,"player_url":null,"player_params":null,"likable":false,"ratable":false,"rating":null,"ratings_average":null,"ratings_count":null,"editable":true,"deleta
ble":true,"watchable":false,"watch":null,"flag":null,"source":{"name":"web","formal_name":"Web App","id":"web"},"poll":null,"embed":null,"hidden":null,"subscribed":null
,"groups":[],"extensions":[],"new_group_id":null,"new_group_archived_at":null,"days_of_stickiness":0,"sticky_for_current_user":false}}* Connection #0 to host left intact

Както можете да видите, в отговор получавам знаци като ටේනර. Те UTF-8 знаци ли са? Как мога да получа четим набор от символи от това с Java? Всъщност трябва да получа следните четливи знаци (тези са на синхалски език) вместо тези, „මත් කුඩු කන්ටේනරය සම්බන්ධ සිද්ධියේ දී අගමැතිවයාගේ රෙද්ද කැඞී නිරුවත පේන්නේ ජාතික හෙළ "

Както и да е, използвам командния ред на Windows, за да изпълня команда curl. Също така се опитах, като посочих заглавката на типа съдържание в заявката, както следва, но същият резултат. "Content-Type", "application/json; charset=UTF-8"

Също така вместо curl опитах с проста програма на Java (apache http клиент) с eclipse и получих същия резултат, като записах във файла.

Кажете ми как мога да получа четливи символи отгоре.

Забележка: Ако изпълня тази услуга за почивка с chrome advanced rest client, мога да получа четливи знаци. Но необработеният изход в разширен клиент за почивка има същите нечетими знаци.

Поздрави, -Ласит.


person lsc    schedule 29.12.2013    source източник


Отговори (1)


Трябва да ги конвертирате в четим низ от вашия код. Можете да използвате нещо като по-долу:

String unicode = "\u0db8\u0dad\u0dca \u0d9a\u0dd4\u0da9\u0dd4";
String string = new String(unicode.getBytes("UTF-8"), "UTF-8");
System.out.println(string);
person Sabuj Hassan    schedule 29.12.2013
comment
Благодаря за отговора. Тук проблемът е call to rest api get string като මත්.. Така че Java представянето му като \ම\ත\් .. . Например, ако имате текстов файл с මත්.. как можете да го прочетете от java програма и да извадите четливи символи от него? BufferedReader br = new BufferedReader(new FileReader("C:\\Lasith\\testfile.txt")); String sCurrentLine; while ((sCurrentLine = br.readLine()) != null) { println(sCurrentLine); String string = new String(sCurrentLine.getBytes("UTF-8"), "UTF-8"); println(string); } - person lsc; 01.01.2014
comment
Да, нещо като вашето това трябва да може да чете текста от файл и да може да отпечатва. Просто се уверете, че вашата конзола има правилното кодиране за показване на unicode текста. - person Sabuj Hassan; 01.01.2014