引自http://www./svg/about-svg/svg-chinese-garbled-steps-and-methods.html 好多SVG编辑器都有不能正常支持中文,后来自己手工创建SVG文件,却也不能在浏览器插件里正常显示。还以为是插件问题(如adobe svg viewer和corel svg viewer等),象我用inkscape,就能很好的处理中文,但却不能在浏览器里正常显示!不知为什么,还真以为插件问题。查看svg viewer的技术规范,都说是支持utf-8的,那是什么问题呢?难道是文字编码问题,后来几经测试,用各种编码及encoding头,还是不对劲。 以上两段引用了eureka 的blog文章,他说得没错,造成SVG的中文乱码问题,主要是由于在SVG中对中文字体的定义有误造成的。那怎样才能彻底解决SVG中文乱码问题呢?下面是解决SVG中文乱码的步骤及方法: 1 首先要将SVG文件保存成UTF-8的编码格式。 操作:UltraEdit file->convisions->ASCII to UTF-8 2 要在svgviewer中显示中文字体,需要将中文字体名称进行“国际化”, 即将汉字字体名称改为英文名称,如将“宋体”改为“Simsun",“黑体”改为"Simhei"等,下面是部分字体对照列表:
3 SVG文件应该像下面这种格式编写: <?xml version="1.0" encoding="UTF-8"?> 4 你还应该特别注意上面示例中的第一行代码 <?xml version="1.0" encoding="UTF-8"?> 这行代码是说这个SVG文件是UTF-8编码来定义的。 如果是Illustrator中制作的SVG怎样解决编码问题?那可以参见"怎样对Illustrator制作的SVG进行优化" ,文章介绍了Illustrator保存SVG时,我们对保存的选项进行调节,来控制SVG的编码、字体类型、字体子集、是否压缩格式以及生成适用于不同设备(如手机)的SVG文件。 (THE END) |
|