我有一个应用使用了batik来生成png图片,在本地环境测试时图片生成正常,中文能正常显示。但是这个应用部署到阿里云的centos环境,图片生成出来就是乱码。图片生成的部分代码如下
PNGTranscoder t = new PNGTranscoder();
t.addTranscodingHint(ImageTranscoder.KEY_MEDIA, "screen");
TranscoderInput input = new TranscoderInput(
new ByteArrayInputStream(formattedSvg.getBytes("UTF-8")));
TranscoderOutput output = new TranscoderOutput(bos);
try {
t.transcode(input, output);
return (ByteArrayOutputStream) output.getOutputStream();
} catch (Exception e) {
_logger.error("transcode error:", e);
return null;
}
我搜索了一些类似问题:
issues.apache.org/jira/browse/BATIK-1053
个人猜测是png的生成代码跟系统的字符集有关。我想问一下,是不是阿里云的系统字符集没有中文字体导致这个问题的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。