关于中文字符UNICODE编码的三个问题(基于此可以求中文字符的笔划和首拼)
2006-10-20 16:17
639 查看
问题一:怎么知道中文字符的UNICODE编码是从19968到40870的
select code=identity(int,1,1) into #t from
(select top 100 a=1 from syscolumns) as a,
(select top 100 a=1 from syscolumns) as b,
(select top 10 a=1 from syscolumns) as c
--得到1-100000的连续自然数
select nchar(code),code from #t order by code
--可以发现,中文字符就是UNICODE编码从19968到40870
知道了以后,就可以直接这么写了,得到所有汉字及对应unicode码
select top 20902 code=identity(int,19968,1) into #t from
(select top 165 a=1 from syscolumns) as a,
(select top 165 a=1 from syscolumns) as b
--得到所有汉字
select nchar(code),code
from #t
问题二:
怎么知道按照笔划排序中文是
‘一’,‘丁’,‘万’等是一笔,两笔,三笔的第一个的
select nchar(code),code
from #t
order by nchar(code) COLLATE Chinese_PRC_Stroke_ci_as
就可以看出来,同笔划的汉字,是按unicode码排列的。
如是:
declare @s nvarchar(100)
declare @n int
set @s = ''
set @n = 9999999
select @s = case when @n > code then @s+chn else @s end,
@n = code from (
select top 21000 chn=nchar(code),code
from #t
order by nchar(code) COLLATE Chinese_PRC_Stroke_ci_as) as a
select @s
--一丁万不且丞丣并临丵乾亁乱仙僵亸偿儭儳儶俪亹儽儾
--囔圞灥囖爨厵滟灪爩齾齉靐
问题三:
怎么知道按照拼音排序中文是
‘吖’‘八’‘嚓’等是A,B,C发音的第一个的
我是一个个找的:
select chn=nchar(code),code from #t
order by nchar(code) COLLATE Chinese_PRC_CI_AS
从原理来讲,可以根据j9988老总已有的求首拼码的函数得出来: http://expert.csdn.net/Expert/topic/1266/1266960.xml?temp=.2896234 select chn=min(nchar(code)),singlepy=dbo.getfirstpy(nchar(code))
from #t
where dbo.getfirstpy(nchar(code)) <> ''
group by dbo.getfirstpy(nchar(code))
order by dbo.getfirstpy(nchar(code))
select code=identity(int,1,1) into #t from
(select top 100 a=1 from syscolumns) as a,
(select top 100 a=1 from syscolumns) as b,
(select top 10 a=1 from syscolumns) as c
--得到1-100000的连续自然数
select nchar(code),code from #t order by code
--可以发现,中文字符就是UNICODE编码从19968到40870
知道了以后,就可以直接这么写了,得到所有汉字及对应unicode码
select top 20902 code=identity(int,19968,1) into #t from
(select top 165 a=1 from syscolumns) as a,
(select top 165 a=1 from syscolumns) as b
--得到所有汉字
select nchar(code),code
from #t
问题二:
怎么知道按照笔划排序中文是
‘一’,‘丁’,‘万’等是一笔,两笔,三笔的第一个的
select nchar(code),code
from #t
order by nchar(code) COLLATE Chinese_PRC_Stroke_ci_as
就可以看出来,同笔划的汉字,是按unicode码排列的。
如是:
declare @s nvarchar(100)
declare @n int
set @s = ''
set @n = 9999999
select @s = case when @n > code then @s+chn else @s end,
@n = code from (
select top 21000 chn=nchar(code),code
from #t
order by nchar(code) COLLATE Chinese_PRC_Stroke_ci_as) as a
select @s
--一丁万不且丞丣并临丵乾亁乱仙僵亸偿儭儳儶俪亹儽儾
--囔圞灥囖爨厵滟灪爩齾齉靐
问题三:
怎么知道按照拼音排序中文是
‘吖’‘八’‘嚓’等是A,B,C发音的第一个的
我是一个个找的:
select chn=nchar(code),code from #t
order by nchar(code) COLLATE Chinese_PRC_CI_AS
从原理来讲,可以根据j9988老总已有的求首拼码的函数得出来: http://expert.csdn.net/Expert/topic/1266/1266960.xml?temp=.2896234 select chn=min(nchar(code)),singlepy=dbo.getfirstpy(nchar(code))
from #t
where dbo.getfirstpy(nchar(code)) <> ''
group by dbo.getfirstpy(nchar(code))
order by dbo.getfirstpy(nchar(code))
相关文章推荐
- 解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题
- OS NSDictionary 输出中文字符”乱码”(Unicode编码)问题?
- 解决 iOS NSDictionary 输出中文字符”乱码”(Unicode编码)问题
- 关于属性传输中文的编码字符问题
- Unicode中关于中文和其他特殊字符的编码范围
- Unicode中关于中文和其他特殊字符的编码范围
- 关于python的str和unicode以及编码的问题
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- Unicode中文和特殊字符的编码范围
- 关于Oracle中文字符乱码的问题与解决方案
- 模板引擎cheetah中关于中文编码问题,两种解决办法 3ff8
- iOS 中的 url 中文和特殊字符编码问题
- 关于Oracle数据库中不同编码所造成的中文乱码问题
- python替换UTF-8编码文本中任意特殊字符,包括中文符号问题:大量文本,将其中的特殊字符用空
- 关于通过网站下载中文名称的文件的编码问题
- python中文utf8编码后是占3个字符,unicode汉字为2字节
- 有关 Python 2 和 Sublime Text 中文 Unicode 编码问题的分析与理解
- 关于java源码在编译时提示:编码GBK的不可映射字符 的问题
- 关于linux下部署 tomcat+mysql 的中文字符问题
- 关于unicode,宽字符的问题