用Batik编写unicode字符不起作用

时间:2009-10-29 10:43:34

标签: java unicode batik

我正在用Batik编写一个项目,用于多语言图像。因此我需要像“sigma”或“alpha”这样的标志。我必须将字符写为文本 - 而不是多边形或字形 - 因为它必须再次由我的项目编写。

如果我在SVGDocument中编写一个unicode字符,它会在调试器中正确显示,但如果我写入SVG,则总是有?,或者对于普通字母,例如A,{ {1}}结果。

我认为这是我作家的一个问题,但我不知道如何解决它。我知道SVG有一些解决方案,比如使用带有?A&#XXX的unicode但是我不能给Node那个字符串,它会以正确的形式写出来。

以下是简短易懂的代码示例:

σ

1 个答案:

答案 0 :(得分:6)

尝试使用OutputStreamWriter编写文档,并明确指定支持unicode的字符编码:

    OutputStream fileOutputStream = new FileOutputStream(svgFile);
    Writer svgWriter = new OutputStreamWriter(fileOutputStream, "UTF-8");