你试试可否用下面的这种方法,韩文可以,繁体的道理应该差不多--1.有关多国文字的,一定要用UNICODE判断!
--2.韩文UNICODE分两断: 12592->12687  44032->55203 
--相关网站:http://www.buja.8u8.com/eeeeee.htm
create function hw(@str Nvarchar(100))
returns int
as
begin
declare @a int
set @a=0
while @str<>'' and @a=0
  begin
  set @a=(case when unicode(left(@str,1)) between 12592 and 12687 
                 or unicode(left(@str,1)) between 44032 and 55203 
               then 1 
               else 0 end)
  set @str=right(@str,len(@str)-1)
  end
return @a
end  
go--调用:
declare @a nvarchar(100)
set @a=N'abc中&#44035;国123'
select dbo.hw(@a)--return: 1
set @a=N'abc中国123'
select dbo.hw(@a)--return: 0
godrop function hw

解决方案 »

  1.   

    繁体字应该也有一个unicode值的开始和结束,只不过找不到相关的资料.也没有这个环境测试.
      

  2.   

    昨晚查到一个以前的贴子,是“一剑飘香”发的,他好像说繁体字的UNICODE和简体字的UNICODE是交错的,并且他也没找出规律。唉,看来不好办啊:(