`

EMF JET 乱码问题 - 详解字符集

    博客分类:
  • java
阅读更多

此现象只发生在运行期,PDE的开发环境未出现乱码!

 

详解:

1. jet生成的java文件总是本地默认字符集格式,并且里面的中文是正常显示的,可以查看其生成的 *.java 文件,

2. 如果构造JETEmitter时指定UTF-8,则将java文件编译成class时,class反编译出来就是乱码,所以无论对generate之后的string如何转码都没用了。

3. 如果构造JETEmitter时指定GBK,则将java文件编译成class时,class反编译出来是unicode,里面的中文都类似这样: \u4e0d\u80fd

 

方法一:

1.构造JETEmitter的时候指定GBK字符集

JETEmitter emitter = new JETEmitter(new String[]{templateUriPath},relativeUri, classLoader,"GBK");

2. emitter.generate之后的String,将会是一个GBK的内容(如果希望得到GBK的目标文件,则可以直接输出就结束)

3. 将此String转换成 UTF-8:EncodeUtil.unicodeToUtf8(content)

4. 保存转换后的内容,

JETService.save(monitor, newString.getBytes("UTF-8"), outputPath,fileName);

 

方法二:

解决办法:

1. template文件都用unicode保存,里面的中文都类似这样: \u4e0d\u80fd

2. emitter.generate之后的String,将会是一个unicode的内容,将此String转换成 UTF-8:

EncodeUtil.unicodeToUtf8(content)

3. 保存转换后的内容,

JETService.save(monitor, newString.getBytes("UTF-8"), outputPath,fileName);

 

 

 

分享到:
评论

相关推荐

    emf-sdo-xsd-SDK-2.3.2.zip

    EMF-SDO-XSD SDK是一个工具集,用于帮助开发者利用EMF和SDO处理与XSD相关的任务。它包含以下组件: 1. **XSD解析器**:这个组件负责将XSD文件转换成EMF的模型表示,使得开发者可以利用EMF的API来操作和管理这些模型...

    emf-xsd-SDK-2.6.1

    在"emf-xsd-SDK-2.6.1"的压缩包中,包含了Eclipse环境的相关文件,这通常意味着我们可以在这个环境中开发和测试基于EMF和XSD的模型应用。Eclipse是一个集成开发环境(IDE),支持多种编程语言和插件,EMF相关的插件...

    emf-sdo-xsd-SDK-2.0.1.zip

    在EMF-SDO-XSD SDK中,"eclipse"可能指的是Eclipse集成开发环境(Integrated Development Environment),这是一个广泛使用的Java开发工具,也支持多种其他语言和框架,包括Struts。开发者可以使用Eclipse来导入和...

    emf-sdo-runtime-2.2.0.zip、GEF-runtime-3.2.zip和VE-runtime-1.2.3_jem.zip

    myeclipse ,swing ,chajian,解压,添加

    emf-sdo-SDK-2.2.2

    在实际开发中,`emf-sdo-SDK-2.2.2`可以帮助开发人员快速构建数据驱动的应用程序,通过模型驱动的方法提高开发效率,同时利用SDO的强大功能来处理复杂的数据访问和转换问题。在Eclipse环境中,该插件通常会包含必要...

    emf-sdo-runtime-2.2.0.zip

    "emf-sdo-runtime-2.2.0.zip" 是一个包含EMF SDO运行时库的压缩包,用于在Eclipse环境中集成SDO功能。这个版本号2.2.0表明这是一个特定的稳定版本,包含了该版本中所有修复的bug和新增的功能。 在压缩包内的...

    emf-xsd-Update-2.10.2

    【标题】"emf-xsd-Update-2.10.2" 是一个与Java可视化开发相关的软件更新版本,主要用于支持Visual Editor的安装和使用。这个版本是2.10.2,通常代表着修复了一些已知问题,增加了新功能,或者优化了性能。 【描述...

    emf-sdo-xsd-SDK-2.4.0.zip

    emf-sdo-xsd-SDK-2.4.0.zip emf是Eclipse modeling framework组建框架的缩写;SDO是服务数据对象的缩写,它是Java程序的一种数据编程框架;emf-sdo-xsd-SDK-2.4.0.zip是Eclipse编程器的组成员之一。

    emf-xsd-Update-2.7.2

    总结起来,"emf-xsd-Update-2.7.2" 是Eclipse的EMF和XSD支持的更新包,提供了一套完整的工具集,用于XML数据的建模和验证,以及基于模型的开发。通过安装这个包,开发者可以利用EMF的强大功能来构建和操作XML schema...

    emf-sdo-SDK-2.2.0(2) eclipse 可视化 界面设计

    emf-sdo-SDK-2.2.0(2) eclipse 可视化 界面设计。 因为size太大,所以分成了2部分,另一部分在 emf-sdo-SDK-2.2.0(1)里面。 emf-sdo-SDK-2.2.0(1)的下载地址: http://download.csdn.net/source/1002774

    emf-sdo-runtime-2.2.0 (emf build 2.2.0)

    eclipse可视化插件安装必备插件之一:emf-sdo-runtime-2.2.0。eclipse全部可视化插件正确配置是eclipse-SDK-3.2-win32,emf-sdo-runtime-2.2.0,GEF-runtime-3.2,VE-runtime-1.2,VE-SDK-1.2

    emf-sdo-xsd-SDK-2.2.1

    总的来说,EMF-SDO-XSD SDK 2.2.1是Eclipse 3.2.1环境下用于Java GUI程序开发的一个关键工具集,它通过XML Schema支持数据建模和对象映射,简化了数据驱动的GUI应用开发过程。开发者可以利用这个SDK创建直观的数据...

    EMF30N02J-VB一种N沟道SOT23封装MOS管

    EMF30N02J-VB是一款N沟道SOT23封装的MOS场效应晶体管,设计用于在各种电子设备中实现高效的开关和电压控制。这种MOSFET的特点是采用TrenchFET技术,这是一种先进的制造工艺,能够提供更小的尺寸和更低的电阻,从而在...

    emf-xsd-Update-2.7.1

    【标题】"emf-xsd-Update-2.7.1" 涉及的是EMF(Eclipse Modeling Framework)的版本更新至2.7.1。EMF是Eclipse项目的一部分,它提供了一个用于构建基于模型的应用程序的框架和工具。在这一版本的更新中,开发者可能...

    emf-sdo-SDK-2.2.0(1)

    emf-sdo-SDK-2.2.0(1) eclipse 可视化插件。 因为size太大,所以分成了2部分。还有一部分在 emf-sdo-SDK-2.2.0(2)。 emf-sdo-SDK-2.2.0(2)的下载地址: http://download.csdn.net/source/1002804

    emf-sdo-xsd-SDK-2.3.1

    "emf-sdo-xsd-SDK-2.3.1" 是一个特定版本的EMF SDK,专注于SDO(Service Data Objects)和XSD(XML Schema Definition)的集成。XSD是一种用于定义XML文档结构的语言,它定义了元素、属性以及它们之间的关系。在这个...

    emf-sdo-runtime-2.0.0

    标签"emf-sdo-runtime-2.0.0"进一步确认了我们正在讨论的是一个特定版本的EMF SDO实现,这个版本可能包含了一些新特性、性能优化或者修复了某些已知问题。 至于压缩包子文件"emf-sdo-runtime-2.0.0",通常会包含...

    emf-runtime-2.6.1.7z

    Eclipse 3.6.1(Helios)的插件。emf-runtime-2.6.1.7z。

Global site tag (gtag.js) - Google Analytics