asp.NET中文產生英文

來源:互聯網
上載者:User

在OA項目開發中使用者的登入名稱是管理員在後台輸入漢字姓名後自動產生的拼音。例如輸入:張三,則登入名稱自動產生ZHANGSAN。

這是怎麼實現的呢,今天查了相關資料,原來如下:

微軟提供了一個Microsoft Visual Studio International Pack 類庫軟體包,vsintlpack1.zip,(現在好像有VSIPSetup.msi,我沒嘗試)

其中有一個類庫: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 Files\Microsoft Visual Studio International Pack\Simplified 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);
}
else
{
PYstr += item.ToString();
}
}
return PYstr;

}

 

5、我簡單的測試了一下,不錯(在Textbox1中輸入漢字 "張三" ,則產生 拼音 "ZHANGSAN")

 

 protected void Button1_Click(object sender, EventArgs e)
{
string pinying = ConvertToPinYin(this.Textbox1.Text.Trim());
Response.Write(pinying);
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.