当前位置: 首页 > news >正文

彻底解决乱码

此文章从蓝色理想转至
原文链接:http://bbs.blueidea.com/thread-2887754-1-1.html

彻底解决乱码:
Flash 5及其之前版本的编码标准是以系统编码为标准的.但Flash MX以后开始支持Unicode,并将Flash Player 6或以上版本预设编码为Unicode,如果Flash载入非Unicode编码时,(比如一个ANSI方式保存的文件)就会出现乱码.
解决方法有两种:
第一种是下策,即强迫Flash使用Flash 5的编码方法,在第一帧加入 System.useCodepage = true;这种方法虽然暂时解决了中文系统的乱码问题,但对程序的兼容性和扩展性极为不利.比如:你用的是GB(简体中文)编码的系统,当一个不是用GB编码的系统观看你的Flash时,他看到的依然是乱码.6 |5 z: d! j; ~7 h
第二种是上策,即利用Unicode编码的一个最常用的实现方法”UTF-8″(Unicode Transformation Format – 8 bit)来实现,最简单的办法就是在保存文件时用编辑软件(比如Windows记事本)保存时在”编码”选项处选择”UTF-8″编码形式,形成文本编码和Flash编码统一.从而消灭乱码.

可这样不算彻底解决。Flash加载的很多文件都可能不是自己创建的,也不能要求别人也转换编码保存一次啊

其实这个问题也是可以解决的,在flash里面提供了如何实现代码转换的方法,
txt.wordWrap = true;
var urlloader:URLStream = new URLStream ();
var onComplete:Function = function ( event:Event ):void {
var str:String = urlloader.readMultiByte ( urlloader.bytesAvailable , “gb2312″ );
var xml:XML = new XML ( str );
txt.text = xml.toString( );
}
urlloader.addEventListener ( Event.COMPLETE , onComplete );
//具体地址写在这里
//txt里面可能使用gbk等编码方式进行保存和发送的……
//
var req:URLRequest = new URLRequest (“”);
urlloader.load (req);

URLStream对象的readMultiByte 方法—————官方说明:
使用指定的字符集从字节流中读取指定长度的多字节字符串。

参数 length:uint — 要从字节流中读取的字节数。

charSet:String — 表示用于解释字节的字符集的字符串。 可能的字符集字符串包括 “shift_jis”、”CN-GB”、”iso-8859-1″”等。 有关完整列表,请参阅Supported Character 。
注意:如果当前系统无法识别 charSet 参数的值,则 Flash Player 将采用系统的默认代码页作为字符集。 例如,charSet 参数的值(如在使用 01 而不是 1 的 myTest.readMultiByte(22, “iso-8859-01″) 中)可能在您的开发计算机上起作用,但在其它计算机上可能不起作用。 在另一台计算机上,Flash Player 将使用系统的默认代码页。

返回 String — UTF-8 编码的字符串。

引发 EOFError — 可读取的数据不足。

关键就在于 不是使用URLLoader进行传输,而是使用URLStream进行传输,通过URLStream对象的readMultiByte 方法进行代码转换,这样中文传输就不会有乱码了。

转载于:https://www.cnblogs.com/klh5211314/p/3281862.html

相关文章:

  • 我的微软最有价值专家(Microsoft MVP)之路
  • 如何向Android模拟器打电话发短信
  • 【奥斯卡理财星体系 序篇】为什么你需要学习这个理财体系?
  • 基于阿里云快速搭建数字营销引擎【计算广告】
  • wcf深入学习笔记
  • Eclipse常用快捷键之代码编辑篇
  • QQ客服代码
  • 完美解决gradle下载慢的问题
  • 人物四(奥瑞夫特)
  • java.lang.OutOfMemoryError: PermGen space
  • 1.揭开消息中间件RabbitMQ的神秘面纱
  • 文本框不够长,显示“XXX...”
  • 统计生成日期为昨天的数据
  • 关于生成器的问题
  • Oracle 调用存储过程执行CRUD的小DEMO
  • [笔记] php常见简单功能及函数
  • 【Linux系统编程】快速查找errno错误码信息
  • 002-读书笔记-JavaScript高级程序设计 在HTML中使用JavaScript
  • 08.Android之View事件问题
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • golang 发送GET和POST示例
  • Linux后台研发超实用命令总结
  • Web Storage相关
  • 对超线程几个不同角度的解释
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 后端_MYSQL
  • 坑!为什么View.startAnimation不起作用?
  • 利用DataURL技术在网页上显示图片
  • 聊聊sentinel的DegradeSlot
  • 如何邀请好友注册您的网站(模拟百度网盘)
  • 树莓派 - 使用须知
  • 微信小程序:实现悬浮返回和分享按钮
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 协程
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 自动记录MySQL慢查询快照脚本
  • ionic入门之数据绑定显示-1
  • 积累各种好的链接
  • ​总结MySQL 的一些知识点:MySQL 选择数据库​
  • #mysql 8.0 踩坑日记
  • $.ajax()参数及用法
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (差分)胡桃爱原石
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四)图像的%2线性拉伸
  • (一)基于IDEA的JAVA基础1
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • [.net]官方水晶报表的使用以演示下载
  • []FET-430SIM508 研究日志 11.3.31
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [AIGC] Spring Interceptor 拦截器详解