应该是字符集的问题,查看SQL
server使用的字符集和ASP连接数据库是默认的字符集是不是同一种字符集。转码换一下!
<%@
page
contentType="text/html;charset=SHIFT_JIS"
%>
或者设置页面的编码方案为UTF-8或gb2312
就是在你编辑asp的时候出错后还没有关闭当前的IE,如果是这样的话,数据库,页面都没有问题。
而是IE在却认报错后会出现乱码现象,解决方法就是关闭当前的IE
并从新打开然后继续编写。
如果SQL
Server
2005系统排序规则为"SQL_Latin1_General_CP1_CI_AS",那么数据库及数据库字段排序规则都默认为"SQL_Latin1_General_CP1_CI_AS",如果字段为varchar,插入中文,数据库显示为"",且数据无法修复。解决办法如下:
1。
修改字段排序规则为"Chinese_PRC_CI_AS",varchar改nvarchar,SQL插入语句中,中文字符前加"N",可以插入中文字符。
2。
修改数据库排序规则为"Chinese_PRC_CI_AS",字段保持varchar,SQL语句不变,插入中文失败,查看字段属性后发现,字段排序规则实际上没有变化,还是默认为"SQL_Latin1_General_CP1_CI_AS",再修改字段排序规则,varchar不变,SQL不变,可以插入中文字符。
总结:
1。
修改系统排序规则没有试过。
2。
修改数据库排序规则不会把数据库中字段的排序规则改掉,但是为了显示中文,数据库排序规则必须改。
3。
仅仅修改字段排序规则,还不能完全解决问题。
中文乱码解决方法
在sql 数据库中执行。
ALTER DATABASE 数据库名 COLLATE Chinese_PRC_CI_AS
例如:
USE master
GO
ALTER DATABASE mydb COLLATE Chinese_PRC_CI_AS
一般是web服务器页面的编码与数据库不一致导致
比如做一些设置<%@Language=JScript @CodePage=936%>
1,<%@codepage="65001"%>
2,< >
以上就是关于ASP连接SQL server 为什么数据库中汉字出现乱码~全部的内容,包括:ASP连接SQL server 为什么数据库中汉字出现乱码~、如何解决 SQL Server 2005 中文乱码、asp.net中向sqlserver数据库中插入中文数据变成乱码,网页中我已加了等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)