`
yydcj
  • 浏览: 61586 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

SVG中文乱码解决步骤与方法

    博客分类:
  • SVG
阅读更多

 

引自http://www.chinasvg.com/svg/about-svg/svg-chinese-garbled-steps-and-methods.html

  好多SVG编 辑器都有不能正常支持中文,后来自己手工创建SVG文件,却也不能在浏览器插件里正常显示。还以为是插件问题(如adobe svg viewer和corel svg viewer等),象我用inkscape,就能很好的处理中文,但却不能在浏览器里正常显示!不知为什么,还真以为插件问题。查看svg viewer的技术规范,都说是支持utf-8的,那是什么问题呢?难道是文字编码问题,后来几经测试,用各种编码及encoding头,还是不对劲。

   后来我好不容易总算琢磨出问题所在,原来你必须给中文加上中文字体。看来adbobe svg viewer和corel svg viewer缺省都没有带支持某种中文字体的,不象inkscape,能正常显示中文。因此,在这种情况下,给中文加上某种字体的样式,就可以正常显示而 不是一些框框了,包括从W3C来的一些SVG中文幻灯片,给它加上中文某中字体的样式才行!

  以上两段引用了eureka 的blog文章,他说得没错,造成SVG的中文乱码问题,主要是由于在SVG中对中文字体的定义有误造成的。那怎样才能彻底解决SVG中文乱码问题呢?下面是解决SVG中文乱码的步骤及方法:

  1 首先要将SVG文件保存成UTF-8的编码格式。

  操作:UltraEdit file->convisions->ASCII to UTF-8

  2 要在svgviewer中显示中文字体,需要将中文字体名称进行“国际化”,

  即将汉字字体名称改为英文名称,如将“宋体”改为“Simsun",“黑体”改为"Simhei"等,下面是部分字体对照列表:

English Name
 Localized Name
SimSun  宋体
SimHei  黑体
FangSong_GB2312  仿宋_GB2312
KaiTi_GB2312  楷体_GB2312
YouYuan
 幼圆
STSong  华文宋体
STZhongsong  华文中宋
STKaiti  华文楷体
STFangsong  华文仿宋
STXihei  华文细黑
STLiti  华文隶书
STXingkai  华文行楷
STXinwei  华文新魏
STHupo  华文琥珀
STCaiyun  华文彩云
FZYaoTi  方正姚体简体
FZShuTi  方正舒体简体
LiSu   隶书

  3 SVG文件应该像下面这种格式编写:

 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN"
  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg width="400" height="400"
     xmlns="http://www.w3.org/2000/svg">
  <desc>sdfasdf</desc>
  <rect x="1" y="1" width="350" height="350"
        fill="none" stroke="blue" />
  <text style="fill:black;" font-size="30" font-family="SimSun" x="100" y="100" width="200" height="30">
    显示的是中文
  </text>
</svg>

  4 你还应该特别注意上面示例中的第一行代码

  <?xml version="1.0" encoding="UTF-8"?>

  这行代码是说这个SVG文件是UTF-8编码来定义的。

  如果是Illustrator中制作的SVG怎样解决编码问题?那可以参见"怎样对Illustrator制作的SVG进行优化" ,文章介绍了Illustrator保存SVG时,我们对保存的选项进行调节,来控制SVG的编码、字体类型、字体子集、是否压缩格式以及生成适用于不同设备(如手机)的SVG文件。

(THE END)

分享到:
评论

相关推荐

    Highcharts导出图片ASP.NET解决中文乱码问题

    通过以上步骤,我们应该能够在ASP.NET环境中成功解决Highcharts导出图片时的中文乱码问题。在实际操作中,可能还需要根据具体的应用环境和需求进行微调。记住,关键在于理解和控制数据在服务器与客户端之间的编码...

    jfreehchar在LINUX下中文乱码的解决

    通过以上步骤,你应该能够成功解决JFreeChart在Linux环境下的中文乱码问题。如果问题依然存在,可能需要进一步检查你的代码中是否有其他地方使用了错误的编码,或者尝试更新JFreeChart到最新版本,看是否已经修复了...

    highcharts在linux下保存图片乱码的解决办法

    在Linux环境下使用Highcharts生成图表时,可能会遇到一个常见的...通过以上步骤,大部分情况下都能解决Highcharts在Linux下保存图片时的乱码问题。如果问题依然存在,可能需要进一步检查具体环境,或者寻求社区的帮助。

    libqrencode

    `libqrencode`就是这样一款开源、纯C编写的二维码生成框架,它为开发者提供了便捷的API接口,可以方便地集成到各种应用程序中,解决了生成中文二维码时可能出现的乱码问题。 1. **libqrencode简介** `libqrencode`...

    oracle biee常见问题解答

    解决此类问题的方法包括检查字体设置是否支持中文字符集,以及确保数据源的编码与BIEE环境一致。 **2. 图形中“上”字、“名”字和“作”字的链接错误** - **解决办法**:此类问题可能是由于图表中的超链接配置不...

    ireport参考(收集)

    这种方法虽然繁琐,但能有效解决在报表中使用SVG图像的问题。需要注意的是,在修补过程中可能会遇到中文字符显示异常和XML校验错误,这些问题同样可以通过修改源码来解决。 ### 解决中文显示问题 在处理中文报表时...

    流程图制作软件-DiagramDesigner1.24(2011带中文语言包)

    6. **导入/导出**:支持多种格式的导入和导出,如SVG、PNG、PDF等,方便与他人共享和协作。 7. **打印和演示**:用户可以直接打印流程图,或者制作成幻灯片进行演示,方便在会议或课堂上展示。 在实际应用中,...

    在PCB中添加汉字或图形

    首先,我们需要了解在Altium Designer中添加文字的基本步骤。在设计界面中,选择“Tools”菜单,然后选择“Place”下的“Text”选项,或者直接使用快捷键“T”,即可进入文本编辑模式。此时,你可以点击工作区放置...

    QRCode二维条形码源代码(C#)

    本压缩包中的源代码提供了在C#中实现QRCode生成的解决方案,特别针对中文乱码问题进行了优化。 首先,我们需要理解二维码的基本原理。QRCode(Quick Response Code,快速响应码)是由日本Denso Wave公司于1994年...

    如何在项目中使用阿里巴巴矢量图标

    阿里巴巴矢量图标库,通常称为Iconfont,提供了丰富的图标资源,支持多种格式,包括SVG、Webfont、CSS等。下面我们将详细探讨如何在项目中集成和使用这些图标。 首先,我们需要了解`iconfont.css`和`iconfont.js`这...

    jfreechaert1.0.13

    解决中文乱码问题** 在JFreeChart 1.0.13版本中,由于编码设置的原因,可能会出现中文乱码问题。解决这个问题通常需要以下步骤: 1. 确保你的数据源(如CSV或数据库)使用正确的字符编码,通常是UTF-8。 2. 在...

    mxGraph插件,java代码xml导出成图片

    解决方法是在服务器上安装必要的中文字体,或者在jGraphX的渲染过程中指定可用的中文字体。 总的来说,实现这个功能需要对前端的mxGraph和后端的jGraphX有深入的理解,以及处理XML和图片转换的技巧。解决上述问题...

    动态汉字显示动态汉字显示

    根据给定的信息,我们可以推断出这是一篇与“动态汉字显示”相关的文章或文档。虽然提供的内容看起来像是乱码或者特殊字符,并没有直接提供关于动态汉字显示的具体信息,但结合标题、描述以及标签,我们可以围绕这个...

    IntelliJ IDEA 使用教程

    - **目标受众**:面向中文用户,尤其适合初学者和有一定Java基础的开发者。 - **学习资源**:教程鼓励读者通过官方帮助中心获取更详尽的信息,并强调了持续更新的重要性。此外,还提供了GitHub仓库供用户参与改进...

    iText+Flying Saucer生成pdf文档所需要的jar包

    因此,使用这个修改过的jar包,可以避免在生成PDF时出现乱码或者中文字符不完整的情况。 为了使用这些库,你需要在你的项目中引入相应的jar文件。在提供的压缩包文件列表中,虽然没有具体的文件名,但通常会包含...

    如何在CANVAS中使用D3.JS

    由于提供的文件内容中包含了大量无法理解的乱码和非标准字符,无法直接从中提取有价值的信息。为了完成任务,我将基于标题和描述提供的信息,结合我所掌握的知识,来详细说明如何在Canvas中使用D3.js。 首先需要...

    fop中文配置 (windows和Ubuntu)操作系统

    在处理中文文本时,由于字体支持的问题,可能会遇到显示不全或者乱码的情况,因此需要进行相应的配置。 在Windows系统中,由于系统通常内置了对中文字符的支持,配置相对简单。但仍然需要注意以下几点: 1. **字体...

    JFreeChart统计绘图

    "同时解决了报表统计的中文乱码!"这一描述意味着JFreeChart在处理非英文字符时表现出良好的兼容性。在处理中文或者其他多语言环境下的数据时,JFreeChart能够正确地显示和输出文本,避免了常见的编码问题,这对于在...

    cssbox 官方包

    5. 渲染到图像:调用`Renderer`的`renderToImage`方法,将文档渲染为图像。 6. 保存图像:使用`ImageIO`类将生成的图像保存到本地文件。 **3. 示例代码** ```java import org.cssbox.render.*; public class ...

    aspose-cad.jar把dwg转换成pdf(去水印)

    此外,Aspose.CAD还支持其他功能,如转换为其他格式(如SVG、PNG等),调整输出质量和尺寸,以及进行一些基本的CAD操作。对于企业级开发,购买Aspose.CAD的商业许可证是必要的,以确保合法使用并获得官方技术支持。 ...

Global site tag (gtag.js) - Google Analytics