将 Unicode/UTF-8 个值转换为阿拉伯文本 | SQL 服务器
Convert Unicode/UTF-8 values into Arabic Text | SQL Server
从 API 获得 JSON。
{
"data":[
{
"id":"1",
"name_ar":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"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":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"name_en":"Saud Abdulaziz Bahaidarah "
}
]
}')
当您运行打开JSON时,您只解析JSON文档的顶层。 value
作为未解析的 JSON 字符串返回。如果您解析到正确的级别,您将获得正确解析的 unicode 值。 EG
SELECT * FROM OPENJSON(N'{
"data":[
{
"id":"1",
"name_ar":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"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
从 API 获得 JSON。
{
"data":[
{
"id":"1",
"name_ar":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"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":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"name_en":"Saud Abdulaziz Bahaidarah "
}
]
}')
当您运行打开JSON时,您只解析JSON文档的顶层。 value
作为未解析的 JSON 字符串返回。如果您解析到正确的级别,您将获得正确解析的 unicode 值。 EG
SELECT * FROM OPENJSON(N'{
"data":[
{
"id":"1",
"name_ar":"\u0647\u0627\u0646\u064a \u0639\u0628\u062f \u0645\u0633\u0644\u0645",
"name_en":"Hani Moussallem"
},
{
"id":"2",
"name_ar":"\u0633\u0639\u0648\u062f \u0639\u0628\u062f\u0627\u0644\u0639\u0632\u064a\u0632 \u0628\u0627\u062d\u064a\u062f\u0631\u0647",
"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