中文难检字与HTML标准

岁末,学期将尽,网站最后两步工序紧张进行--修码通过W3C的HTML标准验证,和站点的简易可用性测试。

今天修码,只要按照多数页面通常代码不规范的前车之鉴修改后都顺利通过了,可是偏偏就遇到 一个小问题--看似微不足道却是拦路虎。

验证报错如下

Sorry! This document can not be checked.

多次仔细检查页面,甚至内容中的字都检查过几遍,还是找不出类似以前在DW中经常出现的“不识别代码”问题(从word中直接copy过来的文字中空格之类的会显示为不识别的代码--unicode问号),折腾的头大,简直几近放弃了。最后根据提示在源码中发现了这个字“”。

Sorry, I am unable to validate this document because on line 295 it contained one or more bytes that I cannot interpret as gb2312 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.

“騄”字属于难检字,就是我们小学在查字典时不容易查找、使用较少的那类。gb2312字库中无此字,在属性中定义font-family为具备这个字的字库是否就可以了呢?于是找到了方正gbk字库,如下修改:

<span style="font-family:gbk;">騄</span>

还是报错。

最后发现一个HTML难检字对应表的站(HTML Numeric Character Entity References),使用其中对应的号码“騄”来代替源码中的文字,这个问题才终于得以解决。一般这些难检字在网页中不易出现,如果不需通过HTML标准验证就更不必多此一举了。不过人名中出现偏字倒是难免。这里遇到的小困难让我收获了一些经验,以此文为纪念,经验同享。