我有这个代码:
' Connects to the server
Dim _tcpClient As New System.Net.Sockets._tcpClient
_tcpClient.Client.Connect(server, port)
' Open network stream
Dim _headerToSend As String = "POST evpost HTTP/1.0"... ' CityName = Čelpěkéy
Dim _networkStream As NetworkStream = _tcpClient.GetStream
Dim bytesToSend As Byte() = Encoding.ASCII.GetBytes(_headerToSend)
' Send the text to tcp server
_networkStream.Write(bytesToSend, 0, bytesToSend.Length)
我正在尝试将值“ Čelpěkéy ”保存在数据库中,实际上已保存为“ Celpekéy ”。这是因为我正在使用Encoding.ASCII
这些字符并且 ASCII 不支持这些字符。
注意事项:
- 另一面是“黑匣子”,所以如果我更改编码,它将不起作用(例如
Encoding.Unicode
)。 - DB 中的列是nvarchar。如果我直接修改此字段,则正确保存值“Čelpěkéy”。
- 需要的字符是:http ://webdesign.about.com/od/localization/l/blhtmlcodes-cz.htm 。
更新
你知道有什么技巧可以让我仍然使用 ASCII 编码来保存 Unicode 字符吗?
或者
您是否认为使用 ASCII 编码不可能做到这一点?
谢谢你的帮助。