代码之家  ›  专栏  ›  技术社区  ›  Jim G.

ASP服务器端代码如何损坏智能报价?

  •  2
  • Jim G.  · 技术社区  · 14 年前

    现在看来,当我们将一个智能引用(即ALT+0146')呈现到屏幕上,然后将其发送回SQLServer2000数据库进行持久化时,该智能引用将损坏为--。

    我的问题是:

    ASP服务器端代码如何损坏智能报价?

    编辑: 看来我的问题和 this one . 顺便说一句,Powerpoint内容在混合中引入了巧妙的引用。然而,正如我之前所说的,我处理的是一个ASP页面,而引用的问题涉及一个PHP页面。

    :服务器端指令 CODEPAGE=65001 生成页面 帖子 在Windows2000框中显示为“西欧”的内容。有人知道为什么吗?

    4 回复  |  直到 7 年前
        1
  •  2
  •   Peter Ruderman    14 年前

    看起来好像有什么东西在进行ANSI和Unicode之间的隐式转换(并且在这个过程中选择了错误的代码页)。您可能需要手动执行转换并提供正确的代码页。不看代码很难说。

        2
  •  2
  •   Keith Adler    14 年前

    看看这个:

    http://support.microsoft.com/kb/232580

    您可能需要在ASP中设置代码页,这样就不会得到关键字符。

        3
  •  1
  •   JasonTrue    14 年前

    当您确实需要告诉服务器要使用哪种编码时,您是否已经告诉客户端页面编码是什么?如果没有,客户机将很高兴地发布用户最后明确选择的任何编码,或者系统默认编码,在大多数美国或西欧机器上很可能是西欧编码。

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    

    您还可以要求服务器在Response.Headers中显式发送此消息。尽管我认为在HTTP头文件中发送它是一个好主意,但是将它包含在HTML中对于出于任何原因决定将文档保存在本地的人也是很有帮助的。

        4
  •  0
  •   Jim G.    14 年前

    VBScript可能会损坏Unicode字符;尤其是旧版本的IIS(即WindowsServer2000上的IIS5.0)。

    就我而言,一个 For Each 这是罪魁祸首。

    下面是一些在POST后执行的示例代码:

    Response.Write Request.Form("selOptions")(0) ' A-OK! - Displays Unicode characters fine!  
    For Each sOption in Request.Form("selOptions")
      Response.Write sOption ' Bad! Unicode characters are mangled!  
    Next