最近看到了一个非常炫的板子,不过是被被人汉化过的国外付费wp的板子。在本机安装上后发现了各种问题,一点一点自己解决,不过最后还是遇到了一个拦路虎。。。
有一块的中文字体无法显示。本来是“汉字@时间”的格式,但是发现,只显示“@时间”,汉字并没有出现,这是为什么?
看了下数据库的编码,之前有个地方是编码问题,但是现在所有的字段都已经改成了UTF8了,5555,不是编码的问题。。。
苦肉木的F12这时候排上用场了,看看,没问题啊,代码显示已经出现了“汉字@时间”啊,看来不是代码的问题……
CSS的font-family的字体???也不是啊。。。。
我绞尽脑汁啊,在什么地方呢。。。。最后发现了出现这种情况的真正的原因是因为国外主题开发者喜欢使用Cufon字体,所谓Cufon字体是JS的一种特效,它的作用是将文字以图片的形式显现出来。这是为了解决主题设计者想展示的字体,而浏览器却不支持这种字体的矛盾。比如主题设计者想使用Trebuchet MS这种字体,使模板看起来好看又另类,可是浏览器不支持这种字体,就不能显示出Trebuchet MS字体效果,退而求其次的使用Tahoma等常用字体,从而使模板看起来很一般。使用这种特效好处是使得文字美观,但是它最大的缺点就是不支持中文字体,只显示英文字母和数字。
解决办法:在wordpress的header.php文件中查找Cufon.replace,并删除就可以了
如下:
<script type="text/javascript"> Cufon.replace(’h1’,{hover: true})(’h2’,{hover: true})(’h3’,{hover: true})(’h4’,{hover: true})(’h5’,{hover: true})(’h6’,{hover: true})(’#top li a’,{hover: true})(’.description’,{hover: true})(’.comm’,{hover: true}); </script>