Velocity的中文问题
http://blog.csdn.net/mydeman/article/details/6633242
今天做了一个小工具,通过Velocity生成Latext的tex文件,可是当使用Miktex生成PDF时,里面的中文都变成了乱码。而之前在Eclipse直接运行时,并没有发现问题。毫无疑问是文件编码引起的问题。
用Notepad++打开生成的tex文件,发现文件的编码是ANSI,也就是系统本地的编码。下面是生成tex的代码:
- public class VelocityHelper {
- private static VelocityContext vc;
- static {
- vc = new VelocityContext();
- }
- public static void generateFile(String tempatePath, String destPath, Map<String, Object> attributes){
- Template template = Velocity.getTemplate(tempatePath);
- for(String key : attributes.keySet()){
- vc.put(key, attributes.get(key));
- }
- BufferedWriter bw = null;
- try {
- bw = new BufferedWriter(new FileWriter(destPath));
- template.merge(vc, bw);
- bw.flush();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- if(bw != null){
- try {
- bw.close();
- } catch (IOException e) {
- }
- }
- }
- }
- }
Google了一下找到了两种解决乱码问题的方法:
1. 在获取模板文件时指定编码,即:
- Template template = Velocity.getTemplate(tempatePath, "UTF-8");
2. 在生成文件时指定编码,即:
- //template.merge(vc, bw);
- Velocity.mergeTemplate(destPath, "UTF-8", vc, bw);
可是这两种方法并不起作用。正在偶然之间看到了上面初始BufferedWriter的代码,这才是生成文件的关键代码,将其修改为:
- bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(destPath), "UTF-8"));
终于看到了久违的中文。
Velocity的中文问题相关推荐
- 学习资料2900篇(4~6)
1451 round 方法 1452 RSS 2.0 Specification 1453 Ruby入门之代码块.迭代子和过程对象 1454 SAS9新体验:在DATA STEP中使用JAVA对 ...
- Spring velocity 中文乱码 解决方案
Spring velocity 中文乱码 解决方案 参考文章: (1)Spring velocity 中文乱码 解决方案 (2)https://www.cnblogs.com/netcorner/p/ ...
- Velocity中文
前期EasyJF的stef_wu负责带队翻译的Velocity中文文档初稿已经完成,对模板及Velocity感兴趣的朋友可以去看看,当然发现了表述不清楚的地方.翻译错了的地方还请及时指正. 文档的wi ...
- freemarker中运算符_如何在Web应用系统表示层开发中应用Velocity模板技术
软件项目实训及课程设计指导--如何在Web应用系统表示层开发实现中应用Velocity模板技术 1.分离Web表示层的数据处理和展现逻辑的常见的应用技术 分离Web表示层的数据处理和展现逻辑是目前企业 ...
- FreeMarker中文帮助手册API文档,基础入门学习文档
FreeMarker中文帮助手册API文档,基础入门学习文档 分类: 编程技术 发布: bywei 浏览: 7 日期: 2011年5月28日 分享到: QQ空间 新浪微博 腾讯微博 人人网 什么是Fr ...
- EasyPR中文开源车牌识别系统 开发详解
在上篇文档中作者已经简单的介绍了EasyPR,现在在本文档中详细的介绍EasyPR的开发过程. 正如淘宝诞生于一个购买来的LAMP系统,EasyPR也有它诞生的原型,起源于CSDN的taotao ...
- Spring MVC整合Velocity
Velocity模板(VM)语言介绍 Velocity是一个基于java的模板引擎(template engine).它允许任何人仅仅简单的使用模板语言(template language)来引用由j ...
- 利用velocity模板以及itext生成pdf
利用velocity模板以及itext生成pdf 我整理的源码:http://download.csdn.net/download/u012174571/8748897 首先是velocity的使用: ...
- java 枚举 下拉框_枚举enum在velocity模板语言中的应用-下拉菜单
1. velocity模板vm页面 语言: #if("add" == $flag) #foreach($elem in $languageEnum) $elem.name #end ...
最新文章
- 一文告诉你,Intellij IDEA神器隐藏的11种实用小技巧!
- qconbeijing2014
- 接软件开发项目,你需要知道这些!
- 用gdb调试nasm汇编程序
- sharepoint 概念及认证方式介绍
- ES6-使用 super 关键字访问原型对象
- 多语言网站设计需要注意的问题
- 拉链式存储_用户维度表(拉链表的方式存储)
- Dubbo框架协议总结
- 凯斯西储大学计算机科学硕士,凯斯西储大学电气工程与计算机科学系
- 例题:最高响应比优先调度算法
- displayTag获得行号
- java开源商城--(8)商品管理之商品分类
- iscsi无法连接到计算机,PC端的iSCSI参数设置方法_主板新闻-中关村在线
- unity-shader-头发渲染-各向异性
- redis 集群scan
- 笔记本电脑如何同时上内外网(通过usb外接网卡实现虚拟机连外网)
- 携手聚力 共赢数智未来丨物通博联招募生态合作伙伴
- 【educoder 机器学习】决策树
- 【pytorch】时间序列预测 —— 同时预测多个分位点
热门文章
- python自动搜索爬取下载文件-python批量爬取下载抖音视频
- python装饰器函数-Python精进-装饰器与函数对象
- python自学书籍顺序-【经验分享】自学Python的学习顺序!附学习资料
- 学python编程-趣学python编程中文版 PDF 下载
- 自学python入门-自学Python编程基础学习笔记 PDF 完整超清版
- python电脑配置要求cpu-Python限制内存和CPU使用量的方法(Unix系统适用)
- linux下使用gcp拷贝数据的时候显示进度条
- LeetCode Lexicographical Numbers(dfs)
- 数据库数据满足树结构时,求一个结点的子结点有哪些
- LeetCode Swap Nodes in Pairs