我想从基于Java的桌面软件发送印地语语言的短信。下面是从JTextArea获取消息并将消息附加到URL中的代码。使用此代码,我可以从Macbook发送印地语短信,但同样在Windows中不起作用。从Windows发送短信时,字符将替换为?
以下是从JTextArea
获取消息的代码byte[] utf8Bytes;
utf8Bytes = hindiSMS.getText().getBytes(StandardCharsets.UTF_8);
String hindiMessage = new String(utf8Bytes,StandardCharsets.UTF_8);
hindiMessage.replace(" ", "+");
Util.sendSMS(hindiMessage, hindiMobileNos);
以下是发送短信的代码
String url="http://sms.sendonlinesms.com/sendsmsv2.asp?user=****&password=*******&sender=*****&text="+message+"&PhoneNumber="+mobilenos+"&unicode=1";
URLEncoder.encode(url,"UTF8");
URL myURL=new URL(url);
URLConnection yc = myURL.openConnection();
更新:我也尝试过以下代码
URI uri=null;
try {
uri = new URI(
"http",
"sms.sendonlinesms.com",
"/sendsmsv2.asp",
"user=****&password=******&sender=70025&text="+message+"&PhoneNumber="+mobilenos+"&unicode=1",null);
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
URL myURL=uri.toURL();
URLConnection yc = myURL.openConnection();
但它并没有任何区别。在Mac上运行正常但在Windows上运行不正常。 使用mac上的应用程序,我可以在印地语中发送短信,但在Windows上使用应用程序,印地语字符被替换为'?'