当前位置: 首页 > 知识库问答 >
问题:

Http响应解码从Windows到Linux的行为不同

蒋烨然
2023-03-14

我的java应用程序正在从bitbucket存储库下载一些用UTF-8或ISO-8859-1编码的文件。
我事先知道这些文件中使用的字符集。

我的应用程序在我的Windows本地机器上运行良好(我使用Eclipse JEE和Tomcat 9服务器)。

我在运行相同版本Tomcat的RedHat虚拟机上部署了这个应用程序,结果我用未知字符替换了这些é/è/à/ú/ï

public static String getFileContentFromRepository(String url) throws IOException {
        HttpURLConnection connection = getConnection(url);
        connection.connect();

        //The following function returns the charset of the file. (Proven to work)
        Charset repoCharset = getCharset();

        InputStream connectionDataStream = connection.getInputStream();
        String connectionStreamData = IOUtils.toString(connectionDataStream, repoCharset);
        
        connection.disconnect();

        return connectionStreamData;
}

如何才能在两个平台上获得相同的结果?

共有1个答案

吕征
2023-03-14

问题来自于将其默认字符集设置为UTF-8的Linux。
将参数-dfile.encoding=iso-8859-1添加到Tomcat的配置中的$CATALINA_OPTS中解决了我的问题。

 类似资料:
  • 问题内容: 我正在使用以下代码从api端点登录和检索数据,但似乎响应已编码,因此我无法读取内容。我正在使用请求requestes-0.0.1 当我在控制台上打印相同的响应 有人可以告诉我如何解码和读取响应中的数据 问题答案: 响应通过brotli压缩进行编码。标准库不支持此压缩方法。您可以从pypi安装第三方软件包以将其解压缩- 有许多可用的软件包。 例如 如果您不想避免安装第三方模块,请从请求中

  • 我想做一个网站的登录页面。我有一个函数,它使用AJAX向PHP脚本发送请求,以检查是否输入了正确的用户名和密码。如果查询返回成功的结果,则发送http_response_code(200),否则发送http_response_code(403)。然而,登录功能似乎没有返回任何响应状态。反应似乎是不确定的。在这种情况下,即使输入了正确的密码和用户名,该函数也会给我错误密码或用户名的窗口警报。我应该检

  • 问题内容: 有一些(有效的)示例如何从Windows到Linux创建RPC? 客户端应该是Windows NT应用程序,服务器应该是Linux。 它 需要 是MSRPC。 没有Corba,没有XML-RPC,SUN-RPC等 MSDN说这个: RPC可以在所有基于Windows操作系统的客户端/服务器应用程序中使用。它还可以用于为包括 Unix和Apple 这样的操作系统的异构网络环境创建客户端和

  • 我想处理的情况下401,403,500等只是状态代码应该返回而不是视图。

  • 使用Java进行一个简单的“delivery_quotes”调用进行测试,返回HTTP响应代码-403 我正在使用的客户ID和测试API密钥是正确的。任何帮助!