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

推荐订阅源

Engineering at Meta
Engineering at Meta
D
Docker
IT之家
IT之家
博客园_首页
罗磊的独立博客
V
V2EX
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
美团技术团队
Y
Y Combinator Blog
博客园 - 聂微东
量子位
阮一峰的网络日志
阮一峰的网络日志
GbyAI
GbyAI
Microsoft Security Blog
Microsoft Security Blog
博客园 - Franky
Martin Fowler
Martin Fowler
Jina AI
Jina AI
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
月光博客
月光博客
G
Google Developers Blog
B
Blog
T
The Blog of Author Tim Ferriss
爱范儿
爱范儿

博客园 - 小菜鸟软件学习

从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);

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