[问题]如何在UTF8下得到汉字拼音
bugx 2008-01-22 06:58:12 比如 “汉” 可以得到 han
这样的拼音。
GB2312下是可以解决了。但是在UTF8下就郁闷了。ASC码和UNICODE编码不一样。
我用一个UTF-8转GB的函数放在一个文件下,比如1.asp
根据ASC码获得拼音是2.asp
实际用到的页面是3.asp
那么我把3.asp改为UTF-8编码,1.asp也是UTF-8编码
3.asp里这样写道
Dim py,a
Set py= new PinYinObject
a="汉"
response.write a
response.write "<br/>----------------------------------<br/>"
response.write AscW(a)
response.write "<br/>----------------------------------<br/>"
response.write py.GetPinYin("汉",false,false)
前面2个输出只是看看而已,关键最后面的。
当我是GB2312的时候肯定没有问题。输出如下:
汉
----------------------------------
27721
----------------------------------
han
当把3.asp转为utf-8的页面的时候,在response.write a之前调用UTF82GB的函数,改为
a="汉字"
a=UTF2GB(a)
这时输出的ascw是23033
这样肯定不对了。是unicode的编码了。用ascB来得是249
怎么做才能把UTF-8的汉字转为拼音呢?
还有为什么UTF8的时候ascw后面加一个汉字会出现“未结束的字符串”错误。是字节长度上太长了?那怎么来只有一个汉字做字符串传入呢?
当然实际上ascb("汉")和ascb("汉字")是一样的结果,因为只取前一个。