解决web显示音标乱码的问题

来源:互联网 发布:linux的两大就业方向 编辑:程序博客网 时间:2024/04/30 10:10

  解决web显示音标乱码的问题

          (测试单词是reviewer,可以在金山词霸中获取它的音标)

    这个问题困扰了我很长时间,也试图想过很多办法,可最终都是失败了.有人说用金山的字体库,还有说用图片的.金山的字体库,我在web上是没用明白,至于图片肯定是可以.但问题是我们要用这个东西基本上都是从一些电子词典软件上直接复制的,所以用图片一个个的往上写一来太慢,二来也有点不拿用户体验"当事办".

         除了网上给的方法外,我也试图通过"字符型和int型转换"来实现,结果还是失败了.但是一个很隐蔽的小环节让我找到了解决这个问题的方法(以金山词霸为例,其实星际译王也一样):我把音标字符串复制到用vs2005建立的C#命令控制台程序中,在cs文件中可以正常显示,可是在我Ctrl+S进行保存的时候会提示

    可以复制,并且保存会提示编码问题,所以我就确定了在金山词霸中的音标绝对不是图片.我把这段从金山词霸上的音标复制到word2003中,把字体改成"KingSoft Phonetic Plain ....",结果还是乱码.结合上面的提示,我试图找到含有"Unicode"字样的字体,很幸运有一个名叫"Arial Unicode MS"的字体(在css中也有该名称的字体),结果就成功了.

    不过我注意到了一个问题,如果直接在记事本中保存音标,虽然也会弹出类似上面的编码提示,可是把文本文件扩展名改成.html在IE中浏览的时候还是乱码.所以我觉得我的方法可以成功取决于两点

        第一: 正确的字体"Arial Unicode MS".

        第二: 文本编辑工具能够正确的对音标的字符集进行转换.

        (大家可以测试一下这段代码,一定要在vs2005中对文本进行保存,并在弹出上面的提示的时候点击"是",如果不行的话,你直接用vs2005建一个web项目,然后吧下面代码中的第6,第7第8行代码复制到aspx中,同样要替换那段红色的文本,否则看不到效果)

  1. <html>
  2. <head>
  3.     <title>测试英文音标的显示</title>
  4. </head>
  5. <body>
  6.     <div style="font-family:Arial Unicode MS">
  7.         将这行红色的文本替换成从金山词霸上复制的音标字符,记得需要在VS2005(其它的版本没试过)中对html文件进行保存,这样才能保证能够正确的进行编码转换!
  8.     </div>
  9. </body>
  10. </html>

                                     运行结果

 

 

 

         说了这么多,除了解释如何正常显示音标之外,我更想表达的意思是:遇到问题的时候,如果找不到现成的解决办法,那么注意问题的细节往往也能找到解决的思路.当然,如果您是"后来者",并且当前的目的是学习最好还是多想想,多思考思考的好.因为当你工作的时候,绝大多数人都处于一个"吃老本"的状态,那个时候很少有人能够静下心来去学习和思考了.

原创粉丝点击