我需要使用 Google FCM 发送 HTTP POST。通过下面的代码,可以发送英文消息,但可以发送中文字符。我通过到处添加 UTF-8 进行了多次尝试...需要帮助。
\n\n我的消息的有效负载是下面代码中的 str2。\nAndroid APP 中显示的结果是 \nHello+%E6%88%91
\n\nE68891是正确的UTF-8代码,但我需要它显示为汉字。
\n\npackage tryHttpPost2;\nimport java.io.DataOutputStream;\nimport java.net.URL;\nimport java.net.URLEncoder;\nimport javax.net.ssl.HttpsURLConnection;\n\npublic class TryHttpPost2 \n{\n public static void main(String[] args) throws Exception {\n String url = "https://fcm.googleapis.com/fcm/send";\n URL obj = new URL(url);\n HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();\n con.setRequestMethod("POST");\n con.setRequestProperty("Content-Type", "application/json;x-www-form-urlencoded;charset=UTF-8");\n con.setRequestProperty("Accept-Charset", "UTF-8");\n con.setRequestProperty("Authorization", "key=...............");\n\n String str1 = "{\\"to\\":\\"/topics/1\\",\\"notification\\":{\\"title\\":\\"";\n String str2 = URLEncoder.encode("Hello \xe6\x88\x91", "utf-8");\n String str3 = "\\"}}";\n String urlParameters = str1+str2+str3;\n con.setDoOutput(true);\n DataOutputStream wr = new DataOutputStream(con.getOutputStream());\n\n wr.writeBytes(urlParameters);\n …Run Code Online (Sandbox Code Playgroud)