【发布时间】:2011-06-27 19:28:18
【问题描述】:
我在asp页面上写出一个变量:
name="ända"
response.write name
页面上显示ända,好!
插入数据库时,写入数据库的值为ända
页面使用<%Response.charset="iso-8859-1"%>编码
我怎样才能将这个值ända 写入数据库?
<%Response.charset="iso-8859-1"%>
folderName=request.querystring("foretagsnamn")
folderName = replace(folderName, "å" , "a")
folderName = replace(folderName, "ä" , "a")
folderName = replace(folderName, "ö" , "o")
folderName = replace(folderName, "Å" , "a")
folderName = replace(folderName, "Ä" , "a")
folderName = replace(folderName, "Ö" , "o")
folderName = LCase(folderName)
response.write folderName
然后只是一个 sql 插入到数据库中。
sql="INSERT INTO users(folderName) VALUES('"&folderName&"');"
conn.execute(sql)
它是一个mySql数据库,经典的asp。
查询字符串来自信用卡支付服务,奇怪的是,当我执行交易并修改查询字符串时,这是错误的,但如果我只是更新页面以便它再次运行代码和查询字符串,没错!?
【问题讨论】:
-
您使用的是什么数据库服务器,您用于写入数据库的代码是什么样的?
-
让我们看看你正在编写的代码
-
在某些时候,您的角色正在转换为 HTML 实体。就像 Joe Phillips 说的那样,我们需要查看代码来弄清楚在哪里/为什么。
-
您要将数据放入 CHAR/VARCHAR 还是 NCHAR/NVARCHAR 的列?
-
我的建议:在您的数据库和网站中删除 iso-8859-1 编码,并在任何地方都使用 UTF8。我的日常工作涉及一个网站,该网站在 1 年前错误地使用了 iso-8859-,而且我们没有一天不为此而自责。
标签: mysql sql unicode asp-classic