以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  Getpinyin的bug  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103184)

--  作者:晕了快扶我
--  发布时间:2017/7/2 14:13:00
--  Getpinyin的bug
 Dim s As String = "万"
output.Show(GetPinyin(s,1))

显示居然是m

--  作者:晕了快扶我
--  发布时间:2017/7/2 14:14:00
--  
还有
Dim s As String = "红"
output.Show(GetPinyin(s,1))


显示居然是g

--  作者:晕了快扶我
--  发布时间:2017/7/2 14:14:00
--  
 getpy不会有这个问题
--  作者:有点甜
--  发布时间:2017/7/2 16:46:00
--  

万 是多音字。

 

你可以改成

 

Dim s As String = "万"
s = s.Replace("万", "腕")
output.Show(GetPinyin(s,1))


--  作者:shenyl0211
--  发布时间:2017/7/2 22:16:00
--  
万[mò ]

〔万俟(qí)〕原为中国古代鲜卑族部落名;后为复姓。
红 也是多音字,女红(gōng
[此贴子已经被作者于2017/7/2 22:19:07编辑过]

--  作者:晕了快扶我
--  发布时间:2017/7/3 6:23:00
--  
 我真的醉了...这不符合常用的啊,多音字这要咋整...
--  作者:有点甜
--  发布时间:2017/7/3 8:38:00
--  
以下是引用晕了快扶我在2017/7/3 6:23:00的发言:
 我真的醉了...这不符合常用的啊,多音字这要咋整...

 

可以做一个多音字表,把字符记录起来,对应读音。

 

先去表那里查找是否有数据,如果有,则取值,如果没有,就用getpinyin函数。

 

或者,看看这个例子 https://my.oschina.net/u/1270374/blog/163990