Windows server中java使用phantomjs+echarts-convert生成图表,图片中的中文乱码 解决办法

简介: 我这里是用java的 Runtime.getRuntime().exec 调用命令行执行phantomjs加echarts-convert生成柱状图的命令,本来在本地处理的挺成功的,放到服务器上后生成的图片中的中文都是乱码,百度到的基本上都是linux上乱码,让安装字体。

我这里是用java的 Runtime.getRuntime().exec 调用命令行执行phantomjs加echarts-convert生成柱状图的命令,本来在本地处理的挺成功的,放到服务器上后生成的图片中的中文都是乱码,百度到的基本上都是linux上乱码,让安装字体。但我这个服务器是Windows server,我也试了把我本地的字体都复制过去安装了一遍,但是没有用。


然后我在服务器上用cmd手动执行生成图片的命令,是没有乱码的,所以只能是程序的问题。


猜测应该是echart-convert.js里面读取json文件的时候乱码了,在里面加了个输出语句,再执行命令,果然输出的是乱码,但没搞懂为什么手动执行命令即使是乱码,生成的图片还是正常的,程序调用生成的图片就是乱码


那就改一下这个js里面读取文件的方法,,,没找到怎么用js读取文件,所以就在Java里面读取js然后替换生成图表的数据,输出到一个新的js,使用这个新的js去执行命令生成图片


下图这个地方注释掉读取文件的代码,给这个options赋一个自己定义的值,在java代码里面replace就可以了



java代码是这样的,注意 之前的-infile参数就没有了,要删掉



然后就,成功了,没有乱码了  


相关文章
|
SQL Java API
|
Java 关系型数据库 MySQL
java控制Windows进程,服务管理器项目
本文介绍了如何使用Java的`Runtime`和`Process`类来控制Windows进程,包括执行命令、读取进程输出和错误流以及等待进程完成,并提供了一个简单的服务管理器项目示例。
327 1
|
Java Linux Windows
windows版java版本管理器
本文介绍了如何在Windows上使用JDK版本管理器jvms来管理多个Java版本,包括下载、初始化、列出本地安装的JDK版本、在线查看可用版本、切换和安装特定版本的Java。
4286 0
windows版java版本管理器
|
Java
用java实现Client和Server之间的互相通信
本文介绍了如何使用Java实现客户端和服务器之间的通信,包括服务器端创建ServerSocket、接受客户端连接、读取和发送消息,以及客户端创建Socket连接、发送和接收消息的完整过程。
624 1
用java实现Client和Server之间的互相通信
|
计算机视觉 Windows Python
windows下使用python + opencv读取含有中文路径的图片 和 把图片数据保存到含有中文的路径下
在Windows系统中,直接使用`cv2.imread()`和`cv2.imwrite()`处理含中文路径的图像文件时会遇到问题。读取时会返回空数据,保存时则无法正确保存至目标目录。为解决这些问题,可以使用`cv2.imdecode()`结合`np.fromfile()`来读取图像,并使用`cv2.imencode()`结合`tofile()`方法来保存图像至含中文的路径。这种方法有效避免了路径编码问题,确保图像处理流程顺畅进行。
2468 1
|
Java 开发工具 git
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
【Azure 应用服务】本地Git部署Java项目到App Server,访问无效的原因
220 0
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
268 0
|
前端开发 JavaScript Java
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
【Azure 应用服务】App Service For Windows 中如何设置代理实现前端静态文件和后端Java Spring Boot Jar包
258 0
|
Java Windows
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
【Azure Developer】Windows中通过pslist命令查看到Java进程和线程信息,但为什么和代码中打印出来的进程号不一致呢?
346 1
|
JavaScript Java Python
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
【Azure 应用服务】在Azure App Service for Windows 中部署Java/NodeJS/Python项目时,web.config的配置模板内容
279 0