Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 2008 俄文字符在经典ASP中呈现为问号_Sql Server 2008_Asp Classic - Fatal编程技术网

Sql server 2008 俄文字符在经典ASP中呈现为问号

Sql server 2008 俄文字符在经典ASP中呈现为问号,sql-server-2008,asp-classic,Sql Server 2008,Asp Classic,我有一个ASP页面。我正在从数据库中获取数据。在数据库中,字符都是俄语。但当我获取该数据以显示在网页中时,它会显示为“?”标记 oCommBM.Parameters.Append oCommBM.CreateParameter("@menu", adVarChar, adParamOutput,2000, "0") 我这样传递参数。如果我使用aVarWCahr而不是adVarChar,那么它显示的是俄语字符,但是下面包含的内容没有正确渲染 我通过数据库中的执行存储过程进行了检查。在那里,它显示

我有一个ASP页面。我正在从数据库中获取数据。在数据库中,字符都是俄语。但当我获取该数据以显示在网页中时,它会显示为“?”标记

oCommBM.Parameters.Append oCommBM.CreateParameter("@menu", adVarChar, adParamOutput,2000, "0")
我这样传递参数。如果我使用aVarWCahr而不是adVarChar,那么它显示的是俄语字符,但是下面包含的内容没有正确渲染

我通过数据库中的执行存储过程进行了检查。在那里,它显示良好。 我还在asp页面中添加了以下两行

Response.codePage = 65001
Response.Charset = "UTF-8"
我更改了asp页面代码和Notepad++编码类型中所有可能的编码类型


非常感谢您的建议。请提前感谢。

第一部分:从数据库中恢复

使用aVarWChar时,W表示“宽”,这意味着此参数是一个Unicode字符串。Unicode支持所有语言,没有问题,因此这是一条可行之路

当您使用aVarChar时,字符串是以其他方式编码的,但不是Unicode编码的(它可能取决于服务器配置或其他内容。我不知道您是否可以控制它。ASP这是一种非常古老的技术!!)

因此,最好的办法是从数据库中恢复Unicode,并让ASP为浏览器对其进行编码

第二部分:在ASP页面中显示

看看这个:
这显示了如何让ASP以浏览器能够正确显示的方式对Unicode字符串进行编码。

提供所有代码,无法分辨问题来自您提供的
。如果我使用aVarWCahr而不是adVarChar,那么它会显示俄文字符,但下面包含的内容无法正确渲染。
您能解释一下吗?实际上,这部分是用于菜单的。如果我在菜单中添加aVarWchar,那么它会在菜单中显示俄文字符,但页面底部未正确呈现..我认为出现了一些异常,因此剩余页面无法正确加载。