阿华_hello 2020-10-27 17:10 采纳率: 33.3%
浏览 59

sptingboot+freemarker在win 10上正常,挪到win server 2016后居然会you字符集问题。

现在有一个xml文档,我需要改变里面的内容后输出成另一个xml,
java程序在我本地(win 10)程序运行正常,
但是上云以后(win server 2016)出现了字符集问题,java程序居然找不到标签里面的字段值,但是我用txt打开输出的xml可以找到相应的字段值。
请问大神如何处理这个问题。

这是配置:
Configuration conf = new Configuration();
//加载模板文件(模板的路径)
conf.setDirectoryForTemplateLoading(new File(FTL_TEMPLATE_PATH));
// 加载模板
Template template = conf.getTemplate(aepxName+".xml");
// 定义输出
BufferedWriter writer = new BufferedWriter (new OutputStreamWriter (new FileOutputStream (filePath + fileOnlyName,true),"UTF-8"));
template.process(ftlmap,writer);
writer.flush();
writer.close();

yml配置:

spring:
freemarker:
charset: UTF-8
content-type: text/xml

java 调用 Dos 执行AE 程序出错的地方
After EffectsfJ: à?üe?? C:\D\PQYD_AEPX\zhuanchang\364028805b7451f6960174525c95c0000e.aepx
aerender ERROR: No comp was found with the given name.

  • 写回答

1条回答 默认 最新

  • 数据大魔王 2023-06-06 14:40
    关注

    您可以尝试以下方法解决字符集问题:

    确认服务器的默认字符集是否与开发环境一致。可以在控制面板中找到“区域设置”选项,确保字符集设置一致。

    修改应用程序的字符集设置。在Spring Boot应用程序的配置文件中,可以添加以下配置项来设置字符集:

    
    
    spring.http.encoding.charset=UTF-8
    spring.http.encoding.enabled=true
    spring.http.encoding.force=true
    

    这将强制所有请求和响应使用UTF-8字符集。

    确认应用程序使用的模板引擎是否支持UTF-8字符集。如果使用的是Freemarker模板引擎,可以在模板文件中添加以下代码来设置字符集:

    
    <#ftl encoding="UTF-8">
    

    这将告诉Freemarker使用UTF-8字符集解析模板文件。

    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序