declare @Word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @Word=left(@str,1)
--如果非漢字字符,返回原字符
set @PY=@PY+(case when unicode(@Word) between 19968 and 19968+20901
then (
select top 1 PY
from
(
select 'A' as PY,N'驁' as Word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
) T
where word>=@Word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC
)
else @Word
end)
set @str=right(@str,len(@str)-1)
end
return @PY
end<script language="vbs" src="spellcode.vbs"></script>
'獲取客戶簡稱的拼音縮寫
function getpy()
dim str
dim i
str=document.all.txtContactName.value
dim ret
for i=1 to len(str)
ret=ret&getpychar(mid(str,i,1))
next
document.all.txtSpellCode.value=ret
end function
getpychar=char
end if
end function
spellCode.vbs
'獲取漢字拼音第一字母
function getpychar(char)
dim tmp
tmp=65536+asc(char)
if(tmp>=45217 and tmp<=45252) then
getpychar= "A"
elseif(tmp>=45253 and tmp<=45760) then
getpychar= "B"
elseif(tmp>=45761 and tmp<=46317) then
getpychar= "C"
elseif(tmp>=46318 and tmp<=46825) then
getpychar= "D"
elseif(tmp>=46826 and tmp<=47009) then
getpychar= "E"
elseif(tmp>=47010 and tmp<=47296) then
getpychar= "F"
elseif(tmp>=47297 and tmp<=47613) then
getpychar= "G"
elseif(tmp>=47614 and tmp<=48118) then
getpychar= "H"
elseif(tmp>=48119 and tmp<=49061) then
getpychar= "J"
elseif(tmp>=49062 and tmp<=49323) then
getpychar= "K"
elseif(tmp>=49324 and tmp<=49895) then
getpychar= "L"
elseif(tmp>=49896 and tmp<=50370) then
getpychar= "M"
elseif(tmp>=50371 and tmp<=50613) then
getpychar= "N"
elseif(tmp>=50614 and tmp<=50621) then
getpychar= "O"
elseif(tmp>=50622 and tmp<=50905) then
getpychar= "P"
elseif(tmp>=50906 and tmp<=51386) then
getpychar= "Q"
elseif(tmp>=51387 and tmp<=51445) then
getpychar= "R"
elseif(tmp>=51446 and tmp<=52217) then
getpychar= "S"
elseif(tmp>=52218 and tmp<=52697) then
getpychar= "T"
elseif(tmp>=52698 and tmp<=52979) then
getpychar= "W"
elseif(tmp>=52980 and tmp<=53688) then
getpychar= "X"
elseif(tmp>=53689 and tmp<=54480) then
getpychar= "Y"
elseif(tmp>=54481 and tmp<=62289) then
getpychar= "Z"
else '如果不是中文,則不處理
getpychar=char
end if
end function
<style>
ruby{}{font-size:14px;}
rt{}{font-size:11px;}
< SPAN>style>
<ruby>中國人民萬萬歲<rt>zhong guo ren min wan wan sui< SPAN>rt><br>
博客園<rt>bo ke yuan< SPAN>rt>
< SPAN>ruby>
使用ruby 和 rt 標簽可以實現注音效果,以上代碼效果如下圖:
拼音來了
<style>rt{}{font-size:18px;}< SPAN>style>
<ruby>中<rt>zhōng< SPAN>rt>國<rt>guó< SPAN>rt>人<rt>rén< SPAN>rt>民<rt>mín< SPAN>rt>< SPAN>ruby>">
中國人民