惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
有赞技术团队
有赞技术团队
WordPress大学
WordPress大学
博客园 - 司徒正美
D
Docker
B
Blog
V
Visual Studio Blog
Blog — PlanetScale
Blog — PlanetScale
U
Unit 42
S
SegmentFault 最新的问题
小众软件
小众软件
J
Java Code Geeks
美团技术团队
腾讯CDC
MyScale Blog
MyScale Blog
爱范儿
爱范儿
H
Help Net Security
宝玉的分享
宝玉的分享
Microsoft Azure Blog
Microsoft Azure Blog
A
About on SuperTechFans
Google DeepMind News
Google DeepMind News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】

博客园 - 小菜鸟软件学习

从SQL Server中导入/导出Excel的基本方法(转) 表数据导出成脚本-存储过程 创建表头固定,表体可滚动的GridView - 小菜鸟软件学习 - 博客园 [转]生成无级树(sql函数) 先进先出的数据冲销处理(转邹健的个人空间) MS-SQL2005使用ROW_NUMBER进行效率分页 Javascript 調用IE的大小的各個函數 正则表达式大全 - 小菜鸟软件学习 - 博客园 常用JScript - 小菜鸟软件学习 - 博客园 SQLSERVER 行数据序列成字符串显示 SQL SERVER性能优化综述 解决 ASP.NET 中目录访问权限的问题 关闭按钮点击事件的捕捉 C#中取得汉语拼音首字母 oracle解锁的SQL.... 彩信网站上令用户下载不了图片的掩眼法之一 手工创建数据库的全部脚本及说明(转) select * from 存储过程(原创) 自定义控件一些属性
把UTF-8编码转换为GB2312编码(转csdn)
小菜鸟软件学习 · 2005-10-28 · via 博客园 - 小菜鸟软件学习

最近在做的广告系统中,碰到了一个问题,广告系统采用的UTF-8编码,而一些使用这套广告系统的频道页面使用的是GB2312编码。当然也有使用UTF-8编码的频道使用这套广告系统。

频道页面是通过嵌入类似如下的代码方式,来调用广告的。具体那个时间显示那个广告,或者那些广告组合是广告系统自己处理的。

<script type="text/javascript"> <!-- csdn_AD_Position_GroupID = "{f05ff3bf-246b-4d71-a101-b5d4ee3f6cd3}"; csdn_AD_Page_Url = document.location; //--> </script> <script type="text/javascript" src="http://ads.csdn.net/AD/Show_JavaScript_AD.js" > </script>


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

<globalization requestEncoding="utf-8" responseEncoding="utf-8" />

以上只是修改整体的默认编码,如果只有某个页的编码需要修改,ASP.net 中则可以简单的使用下面代码:

Encoding gb2312 = Encoding.GetEncoding("gb2312"); Response.ContentEncoding = gb2312;

在非ASP.net 应用中,可能你读到的数据是UTF-8编码,但是你要转换为GB2312编码,则可以参考以下代码:

string utfinfo = "document.write(\"alert('aa你好么??');\");"; 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);

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