小编use*_*301的帖子

C#中的西里尔语编码

我在MSSQL数据库中有一堆类似西里尔文的文本,需要在C#中将其转换为Cyrillic.

所以...Ðàáîòàâãðìàíèè

应该成为

Работавгермании

有什么建议?

我应该补充说,我最接近的是?aaioa aa?iaiee

这是我正在使用的代码:

 str = Encoding.UTF8.GetString(Encoding.GetEncoding("Windows-1251").GetBytes(drCurrent["myfield"].ToString()));
 str = Encoding.GetEncoding(1251).GetString(Encoding.Convert(Encoding.UTF8, Encoding.GetEncoding(1251), Encoding.UTF8.GetBytes(str)));
Run Code Online (Sandbox Code Playgroud)

c# sql-server encoding

10
推荐指数
2
解决办法
1万
查看次数

Request.QueryString和Request.ServerVariables("QUERY_STRING")不显示UNICODE

我添加日志记录功能,以一个经典的ASP应用程序时遇到困难得到的Request.QueryString和Request.ServerVariables当用户提交UNICODE查询正确显示.

例如 -

Response.write Request.QueryString
Run Code Online (Sandbox Code Playgroud)
strVar1=&strVar2=%E8%A1%8C%E9%9B%B2%E6%B5%81%E6%B0%B4&strVar3=blah1&strVar4=blah2


Response.write Request.ServerVariables("QUERY_STRING")
Run Code Online (Sandbox Code Playgroud)
strVar1=&strVar2=%E8%A1%8C%E9%9B%B2%E6%B5%81%E6%B0%B4&strVar3=blah1&strVar4=blah2


然而,如果我在Request.QueryString中指定一个UNICODE变量,它会正确打印:

Response.write Request.QueryString("strVar2")
Run Code Online (Sandbox Code Playgroud)
????


如何获取Request.QueryString或Request.ServerVariables("QUERY_STRING")以包含UNICODE?我在搜索和结果页面上都有以下内容,并且查询对数据库成功执行:

<%
Response.CodePage = 65001
Response.CharSet = "utf-8"
%>
Run Code Online (Sandbox Code Playgroud)

要回答bobince的问题,我想登录他们提交了哪些搜索字词和网页 - 如果有一个更好的方式来做到这一点,我所有的耳朵:

'Enable Logging: writes to MyDB.dbo.logging
'---------------------------------------------------------------------------------------------
Set cmd = Server.CreateObject("ADODB.Command")
cmd.CommandType = adCmdText
cmd.ActiveConnection = objConn

strADName = UCase(Request.ServerVariables("AUTH_USER"))

Protocol = Request.ServerVariables("SERVER_PROTOCOL")
Protocol = Left(Protocol,InStr(Request.ServerVariables("SERVER_PROTOCOL"),"/")-1)

if Request.ServerVariables("SERVER_PORT") = "80" then
port = ""
else
port = ":" & Request.ServerVariables("SERVER_PORT")
end if

CurPageURL = lcase(Protocol) & "://" & Request.ServerVariables("SERVER_NAME") &_
          port & Request.ServerVariables("SCRIPT_NAME") & "?" & …
Run Code Online (Sandbox Code Playgroud)

unicode vbscript asp-classic

3
推荐指数
1
解决办法
3663
查看次数

标签 统计

asp-classic ×1

c# ×1

encoding ×1

sql-server ×1

unicode ×1

vbscript ×1