我的公司只是将许多列从varchar转换为nvarchar。ASP服务器端代码如何破坏智能报价?
现在看来,当我们向屏幕呈现一个智能报价(即ALT + 0146'),然后将其发送回SQL Server 2000数据库以进行持久化时,智能报价将被破坏为“ - ”。
我的问题:
怎么可能ASP服务器端代码腐败智能报价”?
编辑:看来,我的问题是类似this one。顺便提一下,Powerpoint内容将智能报价引入了混合。不过,正如我之前所说,我正在处理一个ASP页面,而引用的问题与PHP页面有关。
编辑:服务器端指令CODEPAGE=65001
使页面呈现正确,但它仍然帖子内容为“西欧”在Windows 2000框。有谁知道为什么?
+1:好点。是的,我*在头节点内部有元标记。但是,我不认为我已经要求服务器在响应头中显式地发送它。是否有我应该看的配置设置? – 2010-06-21 20:54:02
如果您正在执行html方法,则不需要。虽然我认为在IIS中有一个用于站点范围HTTP标头的配置选项,但我认为除非您确定所有页面都处理UTF-8,否则应用它不是个好主意。 – JasonTrue 2010-06-21 21:14:15
%E2%80%99,实际上是智能引擎的UTF-8。你使用参数化查询吗?该参数化查询中的类型是否设置为SQL的NVARCHAR类型?如果您没有使用参数化查询,您是否在SQL中使用了Unicode标记? (例如N'mytext')?最后,在阅读表单值之前,您可能需要设置Request.CodePage = 65001。 – JasonTrue 2010-06-21 21:18:40