分享

中文转换成拼音和笔画

 nxhujiee 2010-04-19
在程序设计中,为方便用户输入,需设计成用户输入拼音首字母或笔画,电脑显示相应的汉字,下面存储过程演示这一过程;
1、在数据库中建一对应表chinese_tab,内含6W多条汉字对应记录,字段分别为chinese,pingyin,bihua , 表单内容略
2、输入汉字字符串,输出对应的拼音和笔画

CREATE PROCEDURE [dbo].[Pro_CnToBihuaPingYin]
      @sourceStr   varchar(500),
      @PinYingStr   varchar(50) out,
      @BiHuaStr          varchar(50)  out
AS
     declare @other varchar(150)
     set @other='qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM0123456789!@#$%^&*()_ +-=`~,./;[]\<>?:"{}|'
      declare @i  int
      set @i=0 
      while @i<=len(@sourceStr)
      begin
          if charindex(substring(@sourceStr,@i,1),@other)>0
          set @sourceStr=replace(@sourceStr,substring(@sourceStr,@i,1),' ')
          set @i=@i+1
      end
      set @sourceStr=replace(@sourceStr,' ','')

      declare   @chinese varchar(2)
      declare   @pingyin   varchar(1)
      declare   @bihua  varchar(1)
      set @PinYingStr=''
      set @BiHuaStr=''
       declare tempWp cursor for 
           select  chinese,pingyin,bihua from dbo.chinese_tab
                  where charindex(chinese,@sourceStr)>0
      open tempWp
      fetch next from tempWp into @chinese,@pingyin,@bihua
      while @@FETCH_STATUS = 0
      begin
            if @PinYingStr=''
                   set @PinYingStr=@sourceStr
            if @BiHuaStr='' 
                    set @BiHuaStr=@sourceStr
            set  @PinYingStr=replace(@PinYingStr,@chinese,@pingyin)
            set @BiHuaStr=replace(@BiHuaStr,@chinese,@bihua)
            fetch next from tempWp into @chinese,@pingyin,@bihua
      end
      close tempWp
      deallocate  tempWp
GO

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/delphi1234/archive/2008/10/28/3168918.aspx

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多