使用PowerShell发送包含希腊字符的SMS消息

nhhxz33t  于 2023-04-21  发布在  Shell
关注(0)|答案(1)|浏览(180)

我在PowerShell v7中使用此代码发送包含希腊字符的SMS消息。

$message = "testing greek characters ΓΔΘΞΦΨΩ"
$senderId = "smsto1"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Bearer $apikey")
$headers.Add("Content-Type", "application/json; charset=utf-8")
$body = "{`n`"message`": `"$message`",`n`"to`": `"+357$clientPhone`",`n`"sender_id`": `"$senderId`",`n`"encoding`": `"unicode`"`n}"
$response = Invoke-RestMethod 'https://api.sms.to/sms/send' -Method 'POST' -Headers $headers -Body $body
$response | ConvertTo-Json

问题是消息到达时每个希腊字符都显示为问号。如下所示:

testing greek characters ???????

我尝试将$body变量中的编码选项更改为UTF-8、ISO 8859-7和unicode,但仍然存在相同的问题。
我该怎么解决这个问题?

wqsoz72f

wqsoz72f1#

我不知道为什么,但使用GET而不是POST工作,没有定义任何编码选项。

$message = "testing greek characters ΓΔΘΞΦΨΩ"
$senderId = "smsto1"
$headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
$headers.Add("Authorization", "Bearer $apikey")
$headers.Add("Content-Type", "application/json")

$response = Invoke-RestMethod "https://api.sms.to/sms/send?api_key=$apikey&to=+357$clientPhone&message=$message&sender_id=$senderId" -Method 'GET' -Headers $headers

相关问题