最近在做主题维护的时候,偶然间发现在部分浏览器当中,用CSS伪元素的content属性显示文字时,用中文直接写的时候可能会出现下面这种乱码问题:

.cxcalendar:after {
    content: '年';
}

检查文件和CSS文件的编码格式,都是utf-8,编码是没有问题的。其实这也不算是什么新鲜问题了,都是一些在开发工作中需要注意的一些小问题。最好的解决办法是css中尽量不要出现中文,实在要用中文要转换成Unicode编码。

可以使用网上一些在线的 “中文转Unicode” 工具把中文转换一下就可以解决。

这里以中文 “年” 字为例,转换后得到Unicode编码 “\u5e74” ,这里要注意不能直接复制使用在CSS里。

根据上面的规则,我们应该把 “\u5e74” 中的 “u”去掉,即变成 “\5e74”,问题即可解决。

.cxcalendar:after {
    content: '\5e74';
}