我有這樣的代碼來編碼Unicode字符的方式:使用ASCII
' 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」介紹的DB,實際上被保存,但作爲「Celpekéy」 。這是因爲我使用的是,這些字符不受ASCII支持。
考慮:
- 的另一面是一個「黑箱」,因此,如果我改變編碼它不會工作(例如
Encoding.Unicode
)。 - DB中的列是nvarchar。如果我直接修改此字段,值「Čelpěkéy」被正確保存。
- 需要的字符是:http://webdesign.about.com/od/localization/l/blhtmlcodes-cz.htm。
更新
你知道任何技巧,讓我仍然使用ASCII編碼保存Unicode字符?
或
您是否認爲使用ASCII編碼是不可能的?
感謝您的幫助。
謝謝@Andrew,抱歉不要在原始問題上提及它,但另一面是「黑匣子」,並且執行該更改不起作用。 – Coyolero 2013-02-11 18:54:49
@Coyolero - 你永遠不會使用ASCII編碼得到想要的結果。如果不是您的編碼選擇,其他問題一定會導致問題。 – 2013-02-11 19:10:12
@ChrisDunaway - 你是對的,所以我認爲如果不改變對方的編碼就不能修復。 – Coyolero 2013-02-11 20:23:34