带重音符号的Android和MSSQL服务器排序

带重音符号的Android和MSSQL服务器排序,android,sql-server,utf-8,collation,xojo,Android,Sql Server,Utf 8,Collation,Xojo,我正在构建一个应用程序,它使用从MSSQL服务器数据库读取的Web服务。在MSSQL中,没有UTF8排序规则,我使用现代西班牙语作为排序规则。 我在尝试获取信息时遇到了问题,因为带有重音的字符不能正确读取 我的Web服务是使用Xojo框架构建的,我认为这不是Xojo的问题,但我愿意接受任何建议 这是我的Android代码: OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedW

我正在构建一个应用程序,它使用从MSSQL服务器数据库读取的Web服务。在MSSQL中,没有UTF8排序规则,我使用现代西班牙语作为排序规则。 我在尝试获取信息时遇到了问题,因为带有重音的字符不能正确读取

我的Web服务是使用Xojo框架构建的,我认为这不是Xojo的问题,但我愿意接受任何建议

这是我的Android代码:

    OutputStream os = conn.getOutputStream();
    BufferedWriter writer = new BufferedWriter(
            new OutputStreamWriter(os, "UTF-8"));
    if (postDataParams != null)
        writer.write(getPostDataString(postDataParams));

    writer.flush();
    writer.close();
    os.close();
    int responseCode = conn.getResponseCode();

    if (responseCode == HttpsURLConnection.HTTP_OK) {
        String line;
        BufferedReader br = new
                BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
        while ((line=br.readLine()) != null) {
            response+=line;
        }
        br.close();
    } else {
        response = "";
    }
    conn.disconnect();
    return response;
你们知道我能做什么吗


提前谢谢

您的错误似乎是告诉输入流它正在读取UTF-8,而实际上它是“现代西班牙语”。因此,您需要找到该编码的Xojo等价物,并将其用于输入。然后,字符串的尾端编码将匹配文本的数据,当您写出它时,它将根据需要转换为UTF8