当前位置:编程学习 > VB >>

关于特殊符号编码的问题请教(跟贴有分)

在网页中,大家都知道,一些特殊符号,可以通过“&#+数字+;”的方式来解决,某种字体里的特殊符号,在文字处理编辑器中,也可以按ALT+对应的编码来解决输入问题。如“æ”,在网页中可以正常显示.但也有不少字符用这种方式但在文字编辑器如记事本WORD中输入时,显示不对应。我用:
Private Sub Command4_Click()
Command4.Enabled = False
On Error Resume Next
Dim a As String
Dim i As Integer
For i = 1 To 2000
a = a & "<tr><td width=23%>" & i & "</td><td><span class=pronounce>[&#" & i & ";]</span></td></tr>"
Form1.Caption = i
DoEvents
Next i
a = "<table width=100% border=1>" & a & "</table>"
Open App.Path & "\音标.htm" For Output As #1
Print #1, a
Close #1
Form1.Caption = "完成!"
Command4.Enabled = True
End Sub

生成以下文件(音标.htm):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="gbk" xml:lang="gbk">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<meta http-equiv="content-language" content="gbk" />
<style type="text/css">
<!--
.pronounce{
font-family: "Lucida Sans Unicode", "Microsoft Sans Serif";
font-size: 16px;
line-height: 20px;
font-weight: bold;
color: #0033FF;
}
-->
</style>
<body bgcolor=#ffffff>
<table width=100% border=1><tr><td width=23%>1</td><td><span class=pronounce>[]</span></td></tr><tr><td width=23%>2</td><td><span class=pronounce>[]</span></td></tr><tr><td width=23%>3</td><td><span class=pronounce>[]</span></td></tr><tr><td width=23%>4</td><td><span class=pronounce>[]</span></td></tr>
………………
<tr><td><span class=pronounce>[ߍ]</span></td></tr><tr><td width=23%>1998</td><td><span class=pronounce>[ߎ]</span></td></tr><tr><td width=23%>1999</td><td><span class=pronounce>[ߏ]</span></td></tr><tr><td width=23%>2000</td><td><span class=pronounce>[ߐ]</span></td></tr></table>
</body>
</html>
显示完全正常。但对某些,如601\596等大量的,用alt+601\596,却无法显示正常的字符,这是为何? --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 帮顶 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 是因为没有对应编码的字符吧?
--------------------编程问答--------------------
引用 4 楼 chen8013 的回复:
是因为没有对应编码的字符吧?

更正:是因为没有对应编码的可显示字符吧?
--------------------编程问答-------------------- 1)字体问题,比如太极图符号,unicode编码262f,fixedsys就看不到,而simsun(宋体)就看得到

2)unicode工程支持的字符比ansi多,不过vb本身支持unicode,所以应该还是问题1.


//[]=================================================[]
//[]         ☯ Version     0.0.0.2    ( Beta )      []
//[]                     Smart                       []
//[]                  Ma Bao Hua                     []
//[]           msn:  JennyVenus@MSN.COM              []
//[]                      3GPP                       []
//[]                      PBOC                       []
//[]          Uart & CCID Snooper Hardware           []
//[] ANSI character setting System default  change   []
//[]=================================================[] --------------------编程问答-------------------- 之能帮顶~ --------------------编程问答-------------------- 顶起~ --------------------编程问答-------------------- 可以用ALT+对应的编码进行正确的输入,却需要当前字体和字符集支持才能正确显示。 --------------------编程问答--------------------   帮顶 --------------------编程问答-------------------- DDDDDDDDDE --------------------编程问答-------------------- 跟贴 --------------------编程问答-------------------- up --------------------编程问答-------------------- upp --------------------编程问答-------------------- UP --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 顶 --------------------编程问答-------------------- 绑顶 --------------------编程问答-------------------- R --------------------编程问答-------------------- 很少用VB生成Html的代码,所以只能帮你UP 喽, --------------------编程问答-------------------- Mark --------------------编程问答-------------------- 与字库相关
--------------------编程问答-------------------- 在网页文件中,使用:font-family: "Lucida Sans Unicode", "Microsoft Sans Serif"; 可以显示正常,在字处理软件WORD中,也是选中的这个字体,按ALT+对应编码啊,不可能是字体不支持啊。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,