我正在使用 Web 服务将信息从一堆旧的 .asp 页面传递到数据库。问题是使用 httpGet,我需要对信息进行编码,以便可以安全地传递。
除了 ä ö 和 å 之类的斯堪的纳维亚字母以正方形出现之外,一切都像做梦一样。现在我什至不知道这是否与公司的 IIS 语言设置(不能触摸它们)或其他什么有关,但我想知道是否有办法强制 asp 页面使用特定的编码,并且然后强制 asp.net Web 服务使用相同的字符集进行解码,中间没有任何类型的服务器设置有机会将它们混合在一起?
我试图环顾四周,但没有找到任何明确的例子来说明如何做到这一点。请保持回复简单,我只是在这里实习的初学者。谢谢您的帮助!
编辑: 道歉。没有包含代码,因为它太简单了,我不认为它会泄露任何东西。这里:
.asp
function loginfo()
Dim text
text = "ääböö"
text = Server.URLENCODE(text)
message = "http://server1/logger_webservice/service.asmx/test_Event?" & _
"userID=" & userID
Set objRequest = Server.createobject("MSXML2.XMLHTTP")
With objRequest
.open "GET", message, False
.setRequestHeader "Content-Type", "text/xml"
.send
End With
loginfo = objRequest.responseText
end function
网络服务器:
<WebMethod()> _
Public Function test_Event(ByVal userId As String) As Boolean
Dim kirj As StreamWriter
kirj = File.CreateText("C:\Inetpub\server1\Logger_WebService\test_logEvent.txt")
userId = Server.UrlDecode(userId)
kirj.WriteLine("userId = " & userId)
kirj.Close()
kirj.Dispose()
End Function
无论如何,谢谢你的帮助。我会更多地研究这个,但像往常一样,压力和匆忙迫使我继续前进。我编写了一个简单的代码来手动加密最常用的斯堪的纳维亚字母,并在 Web 服务器中对其进行解密。到目前为止工作正常,我只是希望没有任何并发症发生。反正只想要基本的芬兰字母 ä、ö 和 å。:)
我只是认为有一些简单的方法可以将编码强制为我找不到的特定字符集。在自己查找信息方面往往很糟糕。