代码: 全选
六六
有些浏览器看不出来(复制也一样),有些浏览器能看出来(复制有不同):
中间的一横,位置、大小,在点不一样。
但是,也只有把这两个字放在一起比较时,才能看到这细微差别。
如果把这一个字单独放在一句话里,就很难分辨。
——————————————————
最近,我在继续整理“HTML5格式佛经”,完成了《六祖坛经》的编排,
一如既往,修改 目录.html 文件,然后用浏览器打开,点击链接测试,
问题出现了,浏览器找不到文件?
打开文件夹,再次确认:六祖坛经.html 文件存在呀!
文件名也再次检查了一遍,没有多余的空格。
又再一次检查了 html 源文件里的链接标签,没写错。
为了保险起见,再次选中这个文件,进入“重命名”的编辑状态,选中文件名,
Ctrl C 复制文件名,Ctrl V 粘贴到 目录.html 文件的代码里,这样总不会错了吧?
保存,测试,还是提示找不到文件。
难道是磁盘有问题,出现坏道的前兆?
于是,直接在文件夹里,把 六祖坛经.html 文件拖到浏览器里,能正常打开。
那为什么点击 目录.html 文件里的链接,说找不到文件?
浏览器的地址栏里,也能正常显示中文路径,反复查看比较:
点击链接的路径,和直接拖拽文件的路径,一模一样,也没错呀?
突然想到,以前旧版浏览器的地址栏里,中文路径都是用一大堆%百分号显示的,
现在新版浏览器升级了,地址栏能正常显示中文了,难道是浏览器的中文编码转换问题?
为了验证这一想法,
于是:把“点击链接”和“文件拖拽”两种操作,在浏览器的地址栏里的路径,
复制粘贴到一个文本编辑器里,果然看到了不同,如下所示:
代码: 全选
FireFox直接打开网页文件,地址栏显示中文正常,复制过来得到的代码:
file:///home/abc/%E6%96%87%E6%A1%A3/H5_FoJing/FoJing_HTML5/%EF%A7%91%E7%A5%96%E5%9D%9B%E7%BB%8F.html
FireFox点击“目录”网页链接,地址栏显示中文正常,复制过来得到的代码:
file:///home/abc/%E6%96%87%E6%A1%A3/H5_FoJing/FoJing_HTML5/%E5%85%AD%E7%A5%96%E5%9D%9B%E7%BB%8F.html
“六祖坛经”这几个字,都是常见字,不是生僻字,理论上应该不会错的啊?
虽然我早就知道,同一个汉字,在Unicode编码里,会重复出现几次(日韩港台大陆,分别提交的),
造成一个汉字,即使字形完全相同,也有多个编码不同的情况。
参阅以前的帖子:
https://forum.ubuntu.org.cn/viewtopic.p ... 2#p3225832
https://forum.ubuntu.org.cn/viewtopic.p ... 1#p3226091
但 目录.html 文件里的链接,我是用文件名复制过去的,应该是同一个字,编码也应该不变啊。
难道还要强制指定浏览器的编码,才能正常看网页?事情不应该那么麻烦的。
又仔细回想,我最早在创建这个文件时,当时懒得打文件名,就从某个PDF文件上复制粘贴过来的,
难道是个原因?
抱着试一试的想法,就手动修改文件名,用输入法重新打了一次“六”字,
把 六祖坛经.html 改成 六祖坛经.html
注意:此时我没有修改 目录.html 文件里的链接。
现在,用浏览器打开 目录.html 文件,点击链接,终于成功打开 六祖坛经.html 文件了!
原来问题出在这里!文件名的“六”不是国标汉字的“六”,
但是我把这个非国标的“六”复制到文本编辑器(Kwrite)里之后,
文本编辑器太智能了,自动转换成国标的“六”,所以造成 Html 地址编码与文件名不一致。
而浏览器也太智能了,在地址栏显示的都是正确的中文,害我一时半会找不到原因。
“六”和“六”两个字的编码不同,再次列出如下。
代码: 全选
非国标的 “六”:UTF-8编码:六 Unicode编码:\uf9d1 Hex编码:%EF%A7%91
国标的 “六”:UTF-8编码:六 Unicode编码:\u516d Hex编码:%F5%85%AD
文件下载地址: 网页在线浏览: https://yq-ysy.github.io/H5_FoJing/