• C# 汉语生成拼音(微软官方方案)


    项目开发中用户的登录名是管理员在后台输入汉字姓名后自动生成的拼音。例如输入:张三,则登录名自动生成ZHANGSAN。

    我在网上查阅了很多方法:

    如:http://blog.csdn.net/nengzhong/article/details/4210039 等一些方法,但是在转换过程中,有些中文它是无法识别的。

    于是,又东奔西走,终于在为微软的官方找到了最佳解决方案:

    微软提供了一个Microsoft Visual Studio International Pack 类库软件包,vsintlpack1.zip

    其中有一个类库:Simplified Chinese Pin-Yin Conversion Library 支持获取简体中文字符的常用属性

    具体操作:

    1、vsintlpack1.zip 下载地址为:

        http://www.microsoft.com/downloads/details.aspx?FamilyID=44cac7f0-633b-477d-aed2-99aee642fc10&DisplayLang=zh-cn 


    2、下载vsintlpack1.zip后,解压安装其中的CHSPinYinConv.msi,如安装到C:Program FilesMicrosoft Visual Studio International PackSimplified Chinese Pin-Yin Conversion Library ,可以看到以下文件。

        

    3、在项目中添加引用,在步骤2安装目录下添加引用ChnCharInfo.dll。

         引用成功后如图:

     

    4 、测试方法如下

    private string ConvertToPinYin(string str)
            {
                string PYstr = "";
                foreach (char item in str.ToCharArray())
                {
                    if (Microsoft.International.Converters.PinYinConverter.ChineseChar.IsValidChar(item))
                    {
                        Microsoft.International.Converters.PinYinConverter.ChineseChar cc = new Microsoft.International.Converters.PinYinConverter.ChineseChar(item);
    
                        //PYstr += string.Join("", cc.Pinyins.ToArray());
                        PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1);
                        //PYstr += cc.Pinyins[0].Substring(0, cc.Pinyins[0].Length - 1).Substring(0, 1).ToLower();
                    }
                    else
                    {
                        PYstr += item.ToString();
                    }
                }
                return PYstr;
            }
  • 相关阅读:
    TinySpider开源喽
    TinyXmlParser开源喽
    Tiny快速入门之控制层开发
    TinyDBRouter
    TinyIOC
    开源前要做好哪些准备工作?
    分布式锁的简单实现
    TinyDBCluster Vs routing4db
    HTML5基础(五)
    HTML5基础(四)
  • 原文地址:https://www.cnblogs.com/gguozhenqian/p/4086466.html
Copyright © 2020-2023  润新知