精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>编码解码>>乱码大全>>乱码大全(9)──中文HTML与Netscape(第二版)

主题:乱码大全(9)──中文HTML与Netscape(第二版)
发信人: wenbobo()
整理人: wenbobo(2002-12-22 01:27:57), 站内信件
发信人: bluesea (蓝海), 信区: Internet 
标 题: 乱码大全(9)──中文HTML与Netscape 
发信站: BBS 水木清华站 (Tue Feb 3 01:04:01 1998) 

乱码大全(9)──中文HTML与Netscape(第二版)

乱码大全(9) 的第一版发于 BBS 水木清华站 (Tue Feb 3 01:04:01 1998)
Internet 信区,现对原内容做一些补充。

一个好的中文网点,应该能够做到让大多数浏览者能够舒服地阅读网页,退
而求其次应该是让访问者可以读懂。但是, 中文 Web 的浏览环境是一个复杂的
多维空间。对于上面的要求,即便是后者也并不是每个网点都做到了。为了迁就
系统功能的某个设置,往往会忽略另一个设置,网点的设计者需要从很多选择中
进行折衷。

中文 Web 的浏览环境这个复杂的多维空间的组成是什么呢? 我想至少包括
这样几个因素: (1) 操作系统及其版本、语种;(2) 中文平台的种类; (3) 浏
览器的品种及其版本。由上面的几个因素相互组合,可以形成几十种浏览环境,
它们在浏览同一个网页时的效果都会有所不同。 我们有理由认为: 由中英文
Windows95/NT、常见中文环境(NjWin、Cstar、Richwin)和常见浏览器(Netscape
3.x/4.x、中英文IE3/4)构成了中国 Web 访问的主要浏览环境。

顺便说一句我们曾经多次提到的一个问题,很多网页的设计者都在追求中文
文本的自动折行,但是只要你承认上面的浏览环境的构成因素,那么请不要费劲
了,这个特性不仅取决于网页的制作,还取决于浏览环境。当然,还有无数自信
的网页设计者在设计其他特性时也是在自己那里试验通过后就认为一切都大功告
成了。

在上面提到的浏览环境中,常见的汉字乱码有两种。这两种情况依靠调节浏
览器的各项参数和选项是无法克服的。

一、所有的汉字都显示成矩形的小方块。比如:

□□□□ Windows 95 □□□□□□□□□□□□,□□□□ 70% □□□□
□□ 25% □□□□□□□□, Microsoft □□□□ Netscape □□□□...

(实际的方块是瘦一些的矩形,是 Windows 的某种字体。) 这种情况的发生有这
样四个条件: (1) 浏览网页用的是 Netscape Communicator(Navigator) 4.x 版
本;(2) 使用的操作系统是英文 Windows; (3) 使用的汉字平台是中文之星或
RichWin; (4) 出现这种情况的网页一定使用了包含“gb2312”的标记:

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">

没有遇到过这个问题的人也许觉得不可思议, Netscape 会有这么低级的问题。
但是事实上却是如此的。

解决方法之一是使用南极星 NJwin 1.5x/1/6x 做中文环境。 在 SMTH 中,
yuhj 是首先提出用 NJwin 来解决这个问题的人。他在述及这个问题时曾提到:
“具体我没有去研究过, 总之用了 Njstar + 英文win95 + Netscape 4.x 看一
般中文网页都没有问题了。 Njstar 使用中文 95 模式主要是不要它用自己的字
体,那个字体比较难看, 因为是和 Richwin 同时运行, 这样屏幕上显示的是
Richwin 的 Truetype 字体。 而 Njstar 在前面提供中文识别 。这里 Richwin
换做 Cstar 应该一样有效,没有其他什么要求。”

在 USENET 的 alt.chinese.text 讨论组中,G.Chen<[email protected]> 最近
发文章说:“Netscape Communicator 默认使用 Unicode,而现有大多数汉字平
台不支持,这可以通过修改 Windows 95 注册簿来解决这个问题”。即将下面的
内容存成 fix-mozilla.reg,然后双击解决:

----------- fix-mozilla.reg cut from here --------------
REGEDIT4

[HKEY_CURRENT_USER\Software\Netscape\Netscape Navigator\INTL]
"useUnicodeFont"=dword:00000000
----------- fix-mozilla.reg file end -------------------

当然,绕道解决也是克服这个问题方法,比如:换用 Netscape Navigator
3.x、Microsoft Internet Explorer 3.x/4.x;或干脆换用 PWindows (95) 等。

对于本文的问题,就涉及到一个主页制作的问题。中文 HTML 尚无标准可循,
所以我个人认为让现有浏览环境的大多数人可以读懂应该是网页设计者的主要目
标。“charset=gb2312”的用法是 Netscape 首先提出的 (Microsoft 开始采用
的是gb_2312-80),那么这种用法到底是用,还是不用? 这样用的好处是能够让
Netscape 浏览器在阅读网页的时候支持汉字自动折行。 至少出现乱码的读者和
英文 Windows/IE 的用户无法享受这个特性。因此 charset=gb2312 不如不用。
或者在主页明确提示用户可能会发生的麻烦及其解决方法。

“乱码大全”,作者:bluesea,水木清华BBS成员。欢迎在 BBS中转载,帮
助计算机初学者解决使用软件过程中遇到的实际问题。本文原载于水木清华 BBS
的 Internet讨论区。地址是: telnet://bbs.tsinghua.edu.cn ,WWW访问的地
址是 http://bbs.tsinghua.edu.cn 。当下面的条件全部满足时,转载本文可以
不经过作者允许:(1) 转载水木清华 BBS 的信头;(2)不修改原文;(3) 转载仅
限于各种 BBS 和非商业性质的个人网点。 严禁各种形式的抄袭,严禁非作者将
本文或局部用于任何正式出版的刊物。本自然段是全文的一部分。

-- 
脊柱是我们这种生命的重要特征,在此基础上我们才有了光芒的智慧和 
丰富的情感。上帝赋予我们自由的意志,同时也赋予我们选择的重担。 

※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.99.62.45] 


[关闭][返回]