Asp.net把UTF-8编码转换为GB2312编码

asp.net|编码|转换

最近在做的系统中,碰到了一个问题,交易系统采用的UTF-8编码,而一些支持系统使用的是GB2312编码。

不同编码的页面、脚本之间互相引用,就会产生乱码的问题,解决方法就是统一成一种编码。
asp.net 中,如果要修改输出页面的编码,可以通过修改web.config中以下配置信息

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />
以上只是修改整体的默认编码,如果只有某个页的编码需要修改,ASP.net 中则可以简单的使用下面代码:

注:加到Page_Load()事件下面就可以了
Encoding gb2312 = Encoding.GetEncoding("gb2312");
Response.ContentEncoding = gb2312;
在非ASP.net 应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码,则可以参考以下代码:

string utfinfo = "document.write(\"alert('你好么??');\");";
string gb2312info = string.Empty;

Encoding utf8 = Encoding.UTF8;
Encoding gb2312 = Encoding.GetEncoding("gb2312");

// Convert the string into a byte[].
byte[] unicodeBytes = utf8.GetBytes(utfinfo);
// Perform the conversion from one encoding to the other.
byte[] asciiBytes = Encoding.Convert(utf8, gb2312, unicodeBytes);
           
// Convert the new byte[] into a char[] and then into a string.
// This is a slightly different approach to converting to illustrate
// the use of GetCharCount/GetChars.
char[] asciiChars = new char[gb2312.GetCharCount(asciiBytes, 0, asciiBytes.Length)];
gb2312.GetChars(asciiBytes, 0, asciiBytes.Length, asciiChars, 0);
gb2312info = new string(asciiChars);

当然,其他各种编码之间的转换,跟上述代码也类似的,就不描述了。

时间: 2024-09-16 23:57:18

Asp.net把UTF-8编码转换为GB2312编码的相关文章

Asp.net中UTF-8编码转换为GB2312编码

最近在做的系统中,碰到了一个问题,交易系统采用的UTF-8编码,而一些支持系统使用的是GB2312编码. 不同编码的页面.脚本之间互相引用,就会产生乱码的问题,解决方法就是统一成一种编码. asp.net 中,如果要修改输出页面的编码,可以通过修改web.config中以下配置信息 <globalization requestEncoding="utf-8" responseEncoding="utf-8" /> 以上只是修改整体的默认编码,如果只有某个

网站整体编码转换为gb2312,之前为utf8

问题描述 网站整体编码转换为gb2312,之前为utf8 基于thinkphp开发的网站,现在要把网站的整体编码格式改为gb2312,默认为utf8.急求大神指点 解决方案 http://www.51zxw.net/study.asp?vip=12576487 解决方案二: 那估计还是有点麻烦,,代码都得改

js把字符串编码转换为Unicode编码

Javascript 内置了转换函数:String.fromCharCodeAt().string.charCodeAt()来进行字符串与编码之间的转换. 所以我们要进行字符串的转换其实很简单,直接用 string.charCodeAt() 函数可以获取到该字符串的 Unicode 编码,这里得到的数字是十进制的,我们加以 number.toString() 方法,即可活动该字符串的16进制的 Unicode 编码. 通过拼装,我们既可以得到标准的 unicode 形式的字符串,详见以下方法:

如何在Linux中将文件编码转换为UTF-8

在这篇教程中,我们将解释字符编码的含义,然后给出一些使用命令行工具将使用某种字符编码的文件转化为另一种编码的例子.最后,我们将一起看一看如何在 Linux 下将使用各种字符编码的文件转化为 UTF-8 编码. 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符.数字或者任何人类能够理解的东西的.一个二进制位只有两种可能的值,也就是 0 或 1,真或假,是或否.其它的任何事物,比如字符.数据和图片,必须要以二进制的形式来表现,以供计算机处理. 简单来说,字符编码是一种可以指示电脑来将原始的

如何在 Linux 中将文件编码转换为 UTF-8

在这篇教程中,我们将解释字符编码的含义,然后给出一些使用命令行工具将使用某种字符编码的文件转化为另一种编码的例子.最后,我们将一起看一看如何在 Linux 下将使用各种字符编码的文件转化为 UTF-8 编码. 你可能已经知道,计算机除了二进制数据,是不会理解和存储字符.数字或者任何人类能够理解的东西的.一个二进制位只有两种可能的值,也就是 0 或 1,真或假,是或否.其它的任何事物,比如字符.数据和图片,必须要以二进制的形式来表现,以供计算机处理. 简单来说,字符编码是一种可以指示电脑来将原始的

XXencode 编码,XX编码介绍、XXencode编码转换原理与算法_其它综合

Xxencode编码,也是一个二进制字符转换为普通打印字符方法.跟UUencode编码原理方法很相似,唯独不同的是可打印字符不同.通个UUencode编码,我们知道它有个缺点就是,64个可打印字符中,有很多的特殊字符.而XXencode编码方法,对64个原字符有做规范.这里它有跟Base64类型了.都有指定可打印字符范围.及编号.Xxencode编码在上世纪后期,IBM大型机中得到很广泛的应用.现在逐渐被Base64编码转换方法所取代了. Xxencode编码原理 XXencode将输入文本以每

用记事本打开原来是gb2312编码的网页,然后另存,另存是将编码改为utf-8,这时网页就转换为utf-8编码,请问这是什么原理?

问题描述 用记事本打开(asp.netc#)gb2312编码的网页,然后另存,另存是将编码改为utf-8,这时网页就转换为utf-8编码,请问这是什么原理?如果想通过程序来进行这两种编码的转换,请问如何转换? 解决方案 解决方案二:原理就是存储编码方式改变.地址长度变长了.如何转换---我也想知道,优秀的比较麻烦.解决方案三::(自己顶一下吧解决方案四:'i:为Integer型;'s:为String;FunctionU2UTF8(Byvala_iNum)DimsResult,sUTF8DimiT

ASP中Utf-8与Gb2312编码转换乱码问题的解决方法 页面编码声明_应用技巧

出现这样的问题是当你浏览UTF-8编码的时候,服务器默认用UTF-8的引擎来输出html,当你用再浏览GB2312的页面时,它还是用UTF-8来输出本应是GB2312编码的页面所以会乱码. 为了这个问题烦了我一个早上,终于的蓝色理想上得到解决. 首先让我们来了解一下Session对象提供了四个属性. 1.CodePage 读/写.整型. 定义用于在浏览器中显示页内容的代码页(Code Page).代码页是字符集的数字值,不同的语言和场所可能使用不同的代码页.例如,ANSI代码页 1252用于美国

asp实现关键词获取(各搜索引擎,gb2312及utf-8)

不知道为什么现在各大搜索引擎编码居然不一样.当然不是gb2312就是utf-8了.编码问题是比较头疼的问题...头疼的不要命... 我们获得关键词,一般是通过来访页面的url进行分析的.比如 http://www.google.com/search?hl=zh-CN&q=%E5%AD%A4%E7%8B%AC&lr= 各位肯定知道这个是通过urlencode编码的. 我们得到其中的信息,需要进行2步.第一步是进行urldecode,在我们普通参数活得的时候,这个是由asp自己来进行的,但是现