svg显示中文

解决SVG文件中无法显示中文的问题,需要确保XML头声明为UTF-8编码,并且SVG文件本身也必须以UTF-8编码保存。示例代码中包含了正确的UTF-8编码SVG文件结构,同时讨论了如何将SVG文件转换为UTF-8编码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在SVG中显示中文[讨论]
各位SVG达人,小弟在SVG文档中遇到了一个意想不到的问题,就是中文字体的显示问题。如下所示:
<?xml version="1.0" standalone="no"?>
<svg   id="svg-root" width="800" height="600">
     <text x="10" y="110" font-size="14" font-family="华文行楷">这是用中文显示哦.</text>
</svg>
这样,在SVG VIEWER中,中文的字体是可以显示的,但是font-family属性并没有起到作用,这是为什么?请达人指教。
但是,可笑的是,在下面的代码中,居然中文字体又显示不出来了!!奇怪。
<?xml version="1.0"?>
<svg width="800" height="600">
           <g style="font-size:14;font-family:'宋体'“>
                <text x="10" y="210">Chinese:这是用中文显示的哦。</text>
           </g>
</svg>
提示信息为令人莫名其妙的“没有排的4行,15栏”。这是为何?


你没使用 encoding="utf-8" 也能显示中文?
你的第二个程序<g style="font-size:14;font-family:'宋体'“(这的“"”你写成全角的了)


关于SVG的中文
   要在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 方正舒体简体    NSimSun 新宋体    LiSu 隶书   


我怎么设了UTF-8后还是不能显示中文,哪位大侠知道?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
" http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
<svg id="svg" width="800" height="600">
<rect style="fill:#000000;" x="0" y="0" width="800" height="600" />
<rect style="fill:#D4D4D4;" x="1" y="1" width="798" height="598" />

<rect style="fill:rgb(255,255,255);fill-opacity:1;stroke:rgb(0,0,0);stroke-opacity:1;" x="300" y="10" width="200" height="30" />
<text style="fill:red;" font-size="14" font-family="SimSun" x="350" y="20" width="200" height="30">AA中文</text>
</svg>


转帖]中文動態資料的SVG應用實驗(节选)
... 另外就是繼續測試SVG的中文使用問題。SVG本身使用的是UTF-8編碼,因此在使用各種語文方面,不會有太大的問題,不過,在 Adobe SVG Viewer當中,如果要能夠看到中文,必須要在SVG當中,指定正確的字體,雖然說,您可以在SVG中直接嵌入字體,便可以讓其他 人都以您所嵌入的字體,看到您在設計時所使用的字體效果,但是,如果SVG本身是一個動態程式,當中的文字可以隨著傳入的參數而改變的話,那麼嵌入字體便 不是什麼好主意(你總不能把整個字體檔都嵌入到SVG圖裡頭吧)。那麼,在設計的時候,就應該選擇各種平台都可以通用的中文字體,所以我在Font- family語法中,加上兩個字體:'PMingLiU'(Windows上的「新細明體」)以及'LiGothicMed'(蘋果儷黑體,便可以正常瀏 覽中文了。而雖然Font-family是CSS 2語法。不過,在瀏覽器中常用的基本字體如serif、sans-serif等,可以在瀏覽器中自行指 定,而Adobe SVG Viewer不能夠使用基本瀏覽器字體檢視SVG,這在多國語文的使用上,的確有一些麻煩。

原文:http://zonble.twbbs.org/archives/2004_04/001207.php


 

下是引用acylas在2004-4-24 17:20:06的发言:
我怎么设了UTF-8后还是不能显示中文,哪位大侠知道?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"
   "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd">
<svg id="svg" width="800" height="600">
   <rect style="fill:#000000;" x="0" y="0" width="800" height="600" />
   <rect style="fill:#D4D4D4;" x="1" y="1" width="798" height="598" />
  
   <rect style="fill:rgb(255,255,255);fill-opacity:1;stroke:rgb(0,0,0);stroke-opacity:1;" x="300" y="10" width="200" height="30" />
   <text style="fill:red;" font-size="14" font-family="SimSun" x="350" y="20" width="200" height="30">AA中文</text>
</svg>

你还需要把svg文件本身存成utf编码形式!!


 

"你还需要把svg文件本身存成utf编码形式!!"
请问楼上:怎样把svg文件本身存成utf编码形式? 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值