bri*_*345 19 database-design sql-server collation configuration sql-server-2017
对于圣经希伯来语,我应该使用哪种 SQL Server 排序规则?所考虑的数据库需要适应变音符号(即元音、重音、比喻等)。
Sol*_*zky 35
第一:在整理方面,圣经希伯来语和现代希伯来语之间没有区别。我们只是在处理希伯来语。
第二: 不管其他什么,您都希望使用最新的排序规则集,这是通常我强烈建议使用您需要的任何排序规则的最新版本,但至少在这种情况下,有充分的理由使用名称中没有版本号的版本。版本 100(或更新的)排序规则要完整得多,并且可以区分增补字符(如果使用_100_系列,因为它们比名称中没有版本号的旧系列(技术上是版本80)具有更新/更完整的排序权重和语言规则。SCor140排序规则甚至完全支持它们),但假设您不处理增补字符,那么版本 80(无版本) number in name)排序规则在处理希伯来语方面做得更好(请参阅下面的“第六项”)。
第三:希伯来语中没有“假名”(或假名类型)的概念,因此您可以忽略_KS其名称中的任何排序规则变体(因为这是您永远不会使用的敏感性)。
第四:以_SC支持补充字符(即完整的 UTF-16)结尾的排序规则,因此通常最好选择其中之一,如果可用(意思是:如果您使用的是 SQL Server 2012 或更新版本)。
第五:您不想要二进制排序规则 (_BIN或_BIN2),因为它们无法区分元音和音标相同但组合字符顺序不同的希伯来字母,也不能忽略元音和其他标记等同于?和 之类的东西??。
例如(元音和音标以相反顺序组合字符):
SELECT NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8),
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C)
WHERE NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8) =
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C) COLLATE Hebrew_100_CS_AS_SC;
-- ??? ???
SELECT NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8),
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C)
WHERE NCHAR(0x05D0) + NCHAR(0x059C) + NCHAR(0x05B8) =
NCHAR(0x05D0) + NCHAR(0x05B8) + NCHAR(0x059C) COLLATE Hebrew_100_BIN2;
-- no rows
Run Code Online (Sandbox Code Playgroud)
第六:这取决于您将如何与字符串值进行交互。希伯来语没有大写/小写字母,但有一些代码点受区分大小写的影响。甚至有一些代码点对宽度敏感。口音敏感/不敏感的影响用于元音,发音和附加符号的cantillation标记(即比喻)。
您需要区分同一封信的最终形式和非最终形式吗?希伯来语中有五个字母在用作单词的最后一个字母时看起来不同。SQL Server 通过区分大小写/_CS排序规则来处理这个问题(但不幸的是,它似乎在更新的,通常更好的版本 100 和更新的排序规则中被破坏了):
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_CI_AS_KS_WS;
-- 1 row (expected; all sensitive except case)
-- Mem Final Mem
-- ?? ?
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_CS_AI;
-- no rows (expected; all insensitive except case)
SELECT NCHAR(0x05DE) AS [Mem],
NCHAR(0x05DD) AS [Final Mem]
WHERE NCHAR(0x05DE) = NCHAR(0x05DD) COLLATE Hebrew_100_CI_AI;
-- no rows (expected 1 row; all insensitive)
Run Code Online (Sandbox Code Playgroud)你需要区分发音标记、元音和发音标记吗?SQL Server 通过区分重音/_AS排序规则来处理这个问题(但不幸的是,它似乎在更新的、通常更好的版本 100 和更新的排序规则中被破坏了)。请注意,所有这三个都在重音敏感度下组合在一起,不能单独控制(即您不能对元音敏感但对cantillation 标记不敏感)。
发音记号
有几个字母有两种不同的发音。有时,使用哪种声音的唯一指标是字母所在单词的上下文(有时甚至是周围的单词),例如在实际的妥拉中(没有发音标记或元音)。但是,其他形式的相同文本以及其他文本将在字母内部或字母 Shin 的字母上方放置点。字母 Shin 可以有“sh”或“s”音。为了表示“sh”音(即字母“shin”),右侧上方有一个点,而左侧上方有一个点表示“s”音(字母“sin”):
SELECT NCHAR(0x05E9) AS [Shin], -- ?
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- ??
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- ??
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_CS_AI_KS_WS
AND NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05E9) AS [Shin], -- ?
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- ??
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- ??
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_CI_AS
OR NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05E9) AS [Shin], -- ?
NCHAR(0x05E9) + NCHAR(0x05C1) AS [Shin + Shin Dot], -- ??
NCHAR(0x05E9) + NCHAR(0x05C2) AS [Shin + Sin Dot] -- ??
WHERE NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C1) COLLATE Hebrew_100_CI_AI_SC
OR NCHAR(0x05E9) = NCHAR(0x05E9) + NCHAR(0x05C2) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
Run Code Online (Sandbox Code Playgroud)
元音
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05B8) AS [Aleph with vowel] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05B8) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
Run Code Online (Sandbox Code Playgroud)
倾斜标记
从技术上讲,根据官方 Unicode 数据,希伯来语cantillation 标记是可以忽略的,并且在使用二进制排序规则时只应在此处注册为差异。但是,SQL Server 将它们视为重音(不幸的是)并且不能将它们与发音标记或元音分开忽略。
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_CS_AI_KS_WS;
-- 1 row (expected; all sensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_CI_AS;
-- no rows (expected; all insensitive except accent)
SELECT NCHAR(0x05D0) AS [Aleph], -- ?
NCHAR(0x05D0) + NCHAR(0x05A8) AS [Aleph with cantillation mark] -- ??
WHERE NCHAR(0x05D0) =
NCHAR(0x05D0) + NCHAR(0x05A8) COLLATE Hebrew_100_CI_AI_SC;
-- no rows (expected 1 row; all insensitive)
Run Code Online (Sandbox Code Playgroud)你需要区分同一个字母的宽和非宽形式吗?希伯来语中有八个字母被拉伸(宽)但仅用于在托拉卷轴(手写/真实或印刷)中使用以保持完全对齐的柱状格式(这实际上是它在托拉卷轴中的显示方式) )。SQL Server 通过宽度敏感度/_WS排序规则处理此问题(有趣的是,它似乎是在较新版本 100 和较新排序规则中唯一可以正常工作的敏感度,但遗憾的是,它最不可能被使用):
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_CI_AI;
-- no rows (expected 1 row; all insensitive)
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_100_CS_AS_KS_SC;
-- 1 row (expected; all sensitive except width)
-- Lamed Wide Lamed
-- ?? ?
SELECT NCHAR(0x05DC) AS [Lamed],
NCHAR(0xFB25) AS [Wide Lamed]
WHERE NCHAR(0x05DC) = NCHAR(0xFB25) COLLATE Hebrew_100_CI_AI_WS_SC;
-- no rows (expected; all insensitive except width)
Run Code Online (Sandbox Code Playgroud)因此,也许Hebrew_CI_AI对于列,COLLATE如果您需要使用变体,例如COLLATE Hebrew_CS_AIorHebrew_CI_AS或,您可以通过语句覆盖每个表达式/谓词Hebrew_CS_AS。
补充说明
您需要将数据存储在NVARCHAR列/变量中。您可以使用Windows-1255 代码页(这是所有排序规则使用的)在常规 8 位中完成大部分工作,包括组合元音和发音点的字符:VARCHARHebrew_*
;WITH Hebrew AS
(
SELECT NCHAR(0x05E9) + NCHAR(0x05C1) + NCHAR(0x05B8)
COLLATE Hebrew_100_CS_AS AS [Shin]
)
SELECT
Hebrew.[Shin] AS [Unicode],
CONVERT(VARCHAR(20), Hebrew.[Shin]) AS [CodePage1255],
CONVERT(VARBINARY(10), CONVERT(VARCHAR(20), Hebrew.[Shin])) AS [CodePage1255_bytes]
FROM Hebrew;
-- Unicode CodePage1255 CodePage1255_bytes
-- ??? ??? F9D1C8
Run Code Online (Sandbox Code Playgroud)
但是,只有 Unicode希伯来语块包含微调标记(即转义;代码点 U+0591 到 U+05AF)加上一些额外内容(代码点 U+05C4 到 U+05C7),而字母表示形式块包含宽几个字母加上一些其他东西的变体。
根据希伯来语(“he”和“he-IL”)文化的官方 Unicode CLDR(特定于语言环境的剪裁)规则,U+05F3 HEBREW PUNCTUATION GERESH 应该匹配或出现在U+0027 APOSTROPHE之前。通常,U+05F3在撇号之后排序。当使用ICU 整理演示并在“根”/标准排序顺序(由美国英语/“en-US”使用)和“he”之间切换时,确实会看到这种行为。但是,此行为在 .NET 或 SQL Server 中似乎不可用:
SELECT NCHAR(0x05F3)
WHERE NCHAR(0x05F3) <= N'''' COLLATE Hebrew_100_CS_AS_KS_WS;
-- no rows
SELECT NCHAR(0x05F3)
WHERE NCHAR(0x05F3) <= N'''' COLLATE Hebrew_CS_AS_KS_WS;
-- no rows
Run Code Online (Sandbox Code Playgroud)
虽然这是一个不幸的遗漏,但考虑到我在 Windows 排序权重表文件中没有看到任何“he”或“he-IL”特定的剪裁,这确实是有道理的。这很可能意味着关联代码页之外的排序规则Hebrew_*和Latin1_General_*排序规则之间没有实际区别,它仅用于VARCHAR数据,在此处不适用。
OP 回复:
是的,我需要区分:1) 同一个字母的韵母和非韵母 2) 发音标记 3) 元音,以及 4) 发音标记。
在这种情况下,由于您不需要忽略这些属性之间的差异,您可以使用 100 级排序规则。下面的示例显示了一个带有发音标记、cantillation 标记和元音的希伯来字母 (Sin)。有六个版本,以便可以表示组合字符的每个可能的排序组合。有第七个条目使用另一个点创建具有相同基字母、元音和发音标记的字母 Shin。查询显示只有六个“Sin”条目相互匹配(即使具有不同的字节顺序),而不是“Shin”。
我包括了使用Latin1_General和Japanese_XJIS_140排序规则,以表明这些规则也适用于您需要使用它们的情况(140排序规则,仅在日语中,比旧版本具有更多的大写/小写映射)。但总的来说,100如果您需要忽略元音、标记、点以及韵母与非韵母形式的差异,可能最好坚持使用希伯来语排序规则,并使用非版本。
DECLARE @Shin NVARCHAR(5) = NCHAR(0x05E9), -- base Hebrew letter
@Dot NVARCHAR(5) = NCHAR(0x05C2), -- Sin Dot
@Mark NVARCHAR(5) = NCHAR(0x05A8), -- Cantillation Mark (i.e. trope)
@Vowel NVARCHAR(5) = NCHAR(0x05B8); -- Vowel
DECLARE @Dot_Mark_Vowel NVARCHAR(20) = @Shin + @Dot + @Mark + @Vowel,
@Dot_Vowel_Mark NVARCHAR(20) = @Shin + @Dot + @Vowel + @Mark,
@Vowel_Dot_Mark NVARCHAR(20) = @Shin + @Vowel + @Dot + @Mark,
@Vowel_Mark_Dot NVARCHAR(20) = @Shin + @Vowel + @Mark + @Dot,
@Mark_Vowel_Dot NVARCHAR(20) = @Shin + @Mark + @Vowel + @Dot,
@Mark_Dot_Vowel NVARCHAR(20) = @Shin + @Mark + @Dot + @Vowel,
@ShinDot_Mark_Vowel NVARCHAR(20) = @Shin + NCHAR(0x05C1) + @Mark + @Vowel;
SELECT @Dot_Mark_Vowel AS [Sin], @ShinDot_Mark_Vowel AS [Shin];
;WITH chr AS
(
SELECT *
FROM (VALUES
(@Dot_Mark_Vowel, 'Dot + Mark + Vowel'),
(@Dot_Vowel_Mark, 'Dot + Vowel + Mark'),
(@Vowel_Dot_Mark, 'Vowel + Dot + Mark'),
(@Vowel_Mark_Dot, 'Vowel + Mark + Dot'),
(@Mark_Vowel_Dot, 'Mark + Vowel + Dot'),
(@Mark_Dot_Vowel, 'Mark + Dot + Vowel'),
(@ShinDot_Mark_Vowel, 'ShinDot + Mark + Vowel')
) tmp([Hebrew], [Description])
) SELECT chr1.[Hebrew],
'--' AS [---],
chr1.[Description] AS [Description_1],
CONVERT(VARBINARY(20), RIGHT(chr1.[Hebrew], 3)) AS [Bytes_1],
'--' AS [---],
chr2.[Description] AS [Description_2],
CONVERT(VARBINARY(20), RIGHT(chr2.[Hebrew], 3)) AS [Bytes_2]
FROM chr chr1
CROSS JOIN chr chr2
WHERE chr1.[Description] <> chr2.[Description] -- do not compare item to itself
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Hebrew_100_CS_AS_SC
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Latin1_General_100_CS_AS_SC
AND chr1.[Hebrew] = chr2.[Hebrew] COLLATE Japanese_XJIS_140_CS_AS;
-- this query returns 30 rows
Run Code Online (Sandbox Code Playgroud)
这取决于很多事情。排序规则是排序、比较和非 unicode 代码页。
这个 repo有一个很好的希伯来语选项列表。
+---------------------------+---------------------------------------------------------------------------------------------------------------------+
| Hebrew_BIN | Hebrew, binary sort |
| Hebrew_BIN2 | Hebrew, binary code point comparison sort |
| Hebrew_CI_AI | Hebrew, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CI_AI_WS | Hebrew, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CI_AI_KS | Hebrew, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CI_AI_KS_WS | Hebrew, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CI_AS | Hebrew, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CI_AS_WS | Hebrew, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CI_AS_KS | Hebrew, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CI_AS_KS_WS | Hebrew, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CS_AI | Hebrew, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CS_AI_WS | Hebrew, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CS_AI_KS | Hebrew, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CS_AI_KS_WS | Hebrew, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_CS_AS | Hebrew, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_CS_AS_WS | Hebrew, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_CS_AS_KS | Hebrew, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_CS_AS_KS_WS | Hebrew, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_BIN | Hebrew-100, binary sort |
| Hebrew_100_BIN2 | Hebrew-100, binary code point comparison sort |
| Hebrew_100_CI_AI | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CI_AI_WS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CI_AI_KS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CI_AI_KS_WS | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CI_AS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CI_AS_WS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CI_AS_KS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CI_AS_KS_WS | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CS_AI | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CS_AI_WS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CS_AI_KS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CS_AI_KS_WS | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CS_AS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive |
| Hebrew_100_CS_AS_WS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive |
| Hebrew_100_CS_AS_KS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive |
| Hebrew_100_CS_AS_KS_WS | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive |
| Hebrew_100_CI_AI_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AI_WS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AI_KS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AI_KS_WS_SC | Hebrew-100, case-insensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AS_WS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CI_AS_KS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CI_AS_KS_WS_SC | Hebrew-100, case-insensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AI_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AI_WS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AI_KS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AI_KS_WS_SC | Hebrew-100, case-sensitive, accent-insensitive, kanatype-sensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AS_WS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-insensitive, width-sensitive, supplementary characters |
| Hebrew_100_CS_AS_KS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-insensitive, supplementary characters |
| Hebrew_100_CS_AS_KS_WS_SC | Hebrew-100, case-sensitive, accent-sensitive, kanatype-sensitive, width-sensitive, supplementary characters |
+---------------------------+---------------------------------------------------------------------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1929 次 |
| 最近记录: |