经典的asp字符编码

时间:2012-08-22 23:40:42

标签: encoding asp-classic utf-8 character-encoding vbscript

我在经典的asp网站上遇到西班牙语字符问题。用户可以在aspx页面上以表单的形式提交他们的姓名/地址。然后,aspx页面将ajax发布到经典的asp页面,它所做的全部内容存储在我们的Sql 2008 DB中。我可以在数据库中看到该字符未正确存储。例如,名字看起来像Mª,应该是

当我读取该数据并将其显示在文本框中时,它仍然显示Mª

我尝试过的事情:

  • <%@ Language=VBScript codepage=65001 %> <% Response.Charset="UTF-8" %>
  • 将文件编码为UTF-8(使用记事本++)

还有其他想法吗?我是否需要首先返回数据库并修复字符,或者在读取字符并显示它们时是否可以完成?

2 个答案:

答案 0 :(得分:10)

在ASP上开始使用utf-8时遇到同样的问题,发现session.CodePage有所不同。在经典的ASP页面中,总是首先使用ASP声明来确保所有页面都使用UTF-8来处理数据,表单,asp代码,接收或发送的数据。

<%@Language=VBScript CodePage = 65001%>
<%
Session.CodePage = 65001
Response.charset ="utf-8"
Session.LCID     = 1033 'en-US
%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

答案 1 :(得分:3)

您所看到的是UTF-8。它可能完全应该是这样,问题是你用于查找的工具没有正确处理UTF-8,因为它不能,或者因为它没有正确配置。