【问题标题】:Underscore (_) gets being converted to section sign (§) - VB.Net下划线 (_) 被转换为节符号 (§) - VB.Net
【发布时间】:2023-09-06 23:26:01
【问题描述】:

我正在开发一个 Windows 服务应用程序,它从 MS SQL Server 2008 获取数据,然后使用该数据发送 SMS。但是,当我收到短信时,所有下划线都会转换为节号。数据库的排序规则是 SQL_Latin1_General_CP1_CI_AS,列的数据类型是 nvarchar(MAX)。

有人知道问题出在哪里吗?我已经搜索了排序规则和字符集,但我还没有找到解决这个问题的方法。

【问题讨论】:

  • 你是如何发送短信的?
  • 串口使用AT命令...

标签: vb.net sql-server-2008 sms


【解决方案1】:

知道了!

我将SerialPortEncoding 属性设置为utf-8

With spPort
    .PortName = "COM23"
    .Encoding = Encoding.GetEncoding("utf-8")
    .Open()
End With

【讨论】:

  • 我们也遇到了这种奇怪的情况,现在我将按照您所说的将这些行添加到我的 php 代码中。 mb_convert_encoding(MESSAGE,"UTF-8")