以前的代码生成工具遗留了一个自定义模块生成的代码有中文乱码问题,今天下定决心来解决下,以绝后患。
背景:我的工程是UTF-8编码,故模板文件的编码都是UTF-8,但是生成的代码中的中文老是显示不了,不管怎么转码和在编译模板时给JETEmitter指定编码,都还有问题。
今天看JETEmitter源码时,突然想到是不是需要给模板编译工程".JETEmitter"指定编码才行。经过一番折腾,终于搞定了。
结论是:我需要指定".JETEmitter"工程的编码为"GBK",但编译模板时不需要给JETEmitter指定编码了,非要给他指定则需要为“UTF-8”。发现如果指定".JETEmitter"工程的编码为"UTF-8",模板转译后的java代码文件编码居然是“GBK”,太奇怪了
背景:我的工程是UTF-8编码,故模板文件的编码都是UTF-8,但是生成的代码中的中文老是显示不了,不管怎么转码和在编译模板时给JETEmitter指定编码,都还有问题。
今天看JETEmitter源码时,突然想到是不是需要给模板编译工程".JETEmitter"指定编码才行。经过一番折腾,终于搞定了。
结论是:我需要指定".JETEmitter"工程的编码为"GBK",但编译模板时不需要给JETEmitter指定编码了,非要给他指定则需要为“UTF-8”。发现如果指定".JETEmitter"工程的编码为"UTF-8",模板转译后的java代码文件编码居然是“GBK”,太奇怪了