如何通过访问表格vba通过API发送阿拉伯短信

问题描述 投票:0回答:1

我可以使用电话号码访问数据库,我想发送阿拉伯短信到电话号码,我使用此代码发送:

Dim result As String
Dim myUrl As String

Dim winHttpReq As Object
Set winHttpReq = CreateObject("WinHttp.WinHttpRequest.5.1")
myUrl = "http://www.nsms.ps/api.php?comm=sendsms&user=user&pass=pass&to=number&message=مرحبا&sender=TrueMark"
    winHttpReq.Open "GET", myUrl, False
    winHttpReq.Send

    result = winHttpReq.responseText

我的代码可以正常工作,并且我的手机收到短信,但是我没有收到阿拉伯语单词顺序的短信。我收到这样的消息:ط§ظ„ط³ظ„ط§ظ… ط¹ظ„ظٹظƒظ…

vba api ms-access sms
1个回答
0
投票

URL通常需要使用UTF-8编码或百分比编码。

这些是相当广泛的主题,但幸运的是,this answer包含一个支持unicode的百分比编码器。使用它对URL中的阿拉伯字符进行百分比编码。如果要在64位访问上使用它,只需针对64位操作进行调整。

[如果要采用UTF-8方式,则需要用WinHTTP Flat API calls替换COM WinHTTPRequest对象,然后调用WideCharToMultiByte将字符串从UTF-16转换为UTF-8。不幸的是,这不是一件容易的事。

© www.soinside.com 2019 - 2024. All rights reserved.