分享

写回答

发帖

[提问] MSSQL数据库使用utf-8造成乱码?如何解决???

GoDaddy GoDaddy 4096 人阅读 | 15 人回复

发表于 2008-10-7 12:59:14 | 显示全部楼层 |阅读模式

GoDaddy主机.....
                    操作系统:WIND
                    数据库:  MSSQL2005
                    使用ASP程序...UTF-8造成中文显示???????这样的乱码?请教各位高手....应该如何解决呢?
论坛发贴的时候只要有中文显示出来全是?号,原来上传的页面没动过显示出来正常.得新写入都是?号,伤心呀.

回答|共 15 个

add.c

发表于 2008-10-7 13:27:58 | 显示全部楼层

添加<%@ CODEPAGE = "936" %>到每一页的开头试试看。

放牛娃

发表于 2008-10-7 13:37:14 | 显示全部楼层

936加不了,手机页面是用65001的,加啦就要打开不了啦

放牛娃

发表于 2008-10-7 13:39:07 | 显示全部楼层

以前我见过有人有同样的问题
可还是没找到答案

查的资料,希望能解决你的问题
我可以提供给你一种方法:

可以通过System.Text.Encoding的方法来进行编码的转换.以下是我的测试代码:

Code Snippet        //编码为UTF8,转型成为GB2312引用:
引用:
  string s = Request.QueryString["T"];

        byte[] b = System.Text.Encoding.UTF8.GetBytes(s);

        System.Text.Encoding gb = System.Text.Encoding.GetEncoding("GB2312");

        string g = gb.GetString(b);你说的是传递的内容是乱码,页面本身是对的。原因是,除了页面设置为utf8外,还要设置创送编码,页面对应的字符集等。

[ 本帖最后由 add.c 于 2008-4-22 02:47 PM 编辑 ]



你以前回答的

add.c

发表于 2008-10-7 13:40:25 | 显示全部楼层

乱码的原因比较多,你在论坛搜索下以前的帖子看看解决的方法

放牛娃

发表于 2008-10-7 13:43:53 | 显示全部楼层

就是没找到呀,全是问号,加啥936那根本就不行,本来就是UTF-8

上传的时候提示排序规则不一样

[ 本帖最后由 放牛娃 于 2008-10-7 01:45 PM 编辑 ]

add.c

发表于 2008-10-7 13:49:11 | 显示全部楼层

回复 6# 的帖子

你的什么程序,网址是?

放牛娃

发表于 2008-10-7 14:40:56 | 显示全部楼层

wap站,IE打不开的

弄个图你看看
未命名.jpg

add.c

发表于 2008-10-7 14:54:16 | 显示全部楼层

在进行插入操作的SQL语句里,需要在中文前加个N,比如 Insert into User values(1, N'盖茨', 55, N'中文内容前面加N')
试试强制转换

放牛娃

发表于 2008-10-7 14:56:03 | 显示全部楼层

在进行插入操作的SQL语句里,需要在中文前加个N,比如 Insert into User values(1, N'盖茨', 55, N'中文内容前面加N')
试试强制转换


这个有点看不懂,我小白一个,具体怎么做
您需要登录后才可以回帖 登录 | 注册

本版积分规则