#sql #json #sql-server #unicode #arabic
#sql #json #sql-сервер #юникод #Арабский
Вопрос:
Получение JSON из API.
{
"data":[
{
"id":"1",
"name_ar":"u0647u0627u0646u064a u0639u0628u062f u0645u0633u0644u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"u0633u0639u0648u062f u0639u0628u062fu0627u0644u0639u0632u064au0632 u0628u0627u062du064au062fu0631u0647",
"name_en":"Saud Abdulaziz Bahaidarah "
}
]
}
который на самом деле является арабским текстом, как показано ниже:
{
"data": [
{
"id": "1",
"name_ar": "هاني عبد مسلم",
"name_en": "Hani Moussallem"
},
{
"id": "2",
"name_ar": "سعود عبدالعزيز باحيدره",
"name_en": "Saud Abdulaziz Bahaidarah "
}
]
}
чтобы получить арабский текст, напишите следующий SQL-запрос, но получите значения Unicode вместо арабского. Как мне преобразовать эти значения Unicode / UTF8 в арабский?
вот сценарий SQL:
SELECT * FROM OPENJSON(N'{
"data":[
{
"id":"1",
"name_ar":"u0647u0627u0646u064a u0639u0628u062f u0645u0633u0644u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"u0633u0639u0648u062f u0639u0628u062fu0627u0644u0639u0632u064au0632 u0628u0627u062du064au062fu0631u0647",
"name_en":"Saud Abdulaziz Bahaidarah "
}
]
}')
Комментарии:
1. Чего вы пытаетесь достичь? У вас есть веб-приложение? Используя pPython, C #, Java, JavaScript? Без этого вам трудно что-то посоветовать.
2. @Tarik делает в SQL Server как помеченный
Ответ №1:
Когда вы запускаете OPENJSON, вы анализируете только верхний уровень документа JSON. value
Возвращается в виде строки неразработанного JSON. Если вы выполните синтаксический анализ до нужного уровня, вы получите значения unicode, проанализированные правильно. НАПРИМЕР
SELECT * FROM OPENJSON(N'{
"data":[
{
"id":"1",
"name_ar":"u0647u0627u0646u064a u0639u0628u062f u0645u0633u0644u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"u0633u0639u0648u062f u0639u0628u062fu0627u0644u0639u0632u064au0632 u0628u0627u062du064au062fu0631u0647",
"name_en":"Saud Abdulaziz Bahaidarah "
}
]
}', '$.data')
with (
id int,
name_ar nvarchar(200),
name_en nvarchar(200)
)
выводит
id name_ar name_en
----------- ----------------------------- -------------------------------
1 هاني عبد مسلم Hani Moussallem
2 سعود عبدالعزيز باحيدره Saud Abdulaziz Bahaidarah