我使用Java8、Struts2和Freemarker2.3.23生成csv和html文件格式的报告(via.csv.ftl和.html.ftl模板都保存在utf-8编码中),数据来自postgres数据库数据中有中文字符,当我以html格式生成报表时,它是精细的、完整的,汉字是正确显示的。但是,当报告在csv中产生时,我注意到:
如果我使用-Dfile.code=utf-8vm选项运行应用程序,则会正确生成汉字,但报告是不完整的(即文本在接近端部分被截断),如果我运行应用程序而没有-Dfile.code=UTF-8 VM
我试图根据Unicode.org/Public/ CSV /13.0.0/Unihan.zip中文本文件中的Unicode代码点将汉字写入CSV文件。例如,一个示例字符是U+9109。在下面的示例中,我可以通过硬编码值来获得正确的输出(第8行),但是每次我尝试从代码点生成字节时都会出错(第14-16行)。 6
7 # Hardcoded values work ju