酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

java调用python接口使用的 string pythonscriptpathpng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; processbuilder pbpng = new processbuilder("python", pythonscriptpathpng, pptfilepath, "png"); process ppng = pbpng.start(); // 读取 python 脚本写入的文件 bufferedreader reader = new bufferedreader(new filereader("count.txt")); ppng.waitfor(); java传入的中文值变成了乱码

这个问题可能是由于Java和Python之间的字符编码不一致导致的。你可以尝试在Java代码中设置Python脚本的字符编码为UTF-8,以解决这个问题。 首先,你需要在Python脚本的开头添加以下代码: ```python # -*- coding: utf-8 -*- ``` 然后,在Java代码中,使用`ProcessBuilder`时,需要设置环境变量`PYTHONIOENCODING`为`utf-8`。修改后的Java代码如下: ```java String pythonScriptPathPng = "ruoyi-edu\\src\\main\\java\\com\\gtvote\\edu\\python\\pptutils.py"; ProcessBuilder pbPng = new ProcessBuilder("python", pythonScriptPathPng, pptFilePath, "png"); Map<String, String> env = pbPng.environment(); env.put("PYTHONIOENCODING", "utf-8"); Process pPng = pbPng.start(); BufferedReader reader = new BufferedReader(new FileReader("count.txt")); pPng.waitFor(); ``` 这样,Java传入的中文值应该不会再变成乱码了。 [2024-06-06 17:27:09 | AI写代码神器 | 264点数解答]

相关提问