ASsql中文问题

Adobe的AIR确实强大,能够开发出传统并且比传统C/S桌面系统要好的系统,但是目前仍存在一个问题,就是数据库连接驱动,想直接用AS3连接数据库,并对数据库进行操作,那就得第三方数据库连接组件了,它自带的SQLite不能满足企业级管理系统的需求,而目前Mysql有个开源的AS驱动,叫做ASsql,到code.google去下载,并且测试了一下,不测不知道,原来它对中文的支持不好。
Mysqlserver端的所有属性字符集都改成utf8;然后通过AIR程序对数据库表写进一条含有中文的记录,然后通过AIR程序读取显示,可以正常显示中文,但是通过客户端控制台和客户端管理工具,mysql query browser或者EMS,查看表数据记录,那中文都是乱码,唉~~
打开ASsql的源代码看看,发现用的是readUTFBytes和writeUTFBytes来处理命令,这我就不明白了,按道理也是utf字符集嘛,怎么会这样子的呢?
不过有一点要指出的是,as里面,一个中文字是占3个字节的长度,这是否就是在mysql客户端软件中无论怎样都是显示乱码的原因吧。

经过几天的努力,终于解决这一问题了,以后大家可以安心地用这个驱动了。在这里谢谢ASsql的作者。
大家下载最新的原代码http://code.google.com/p/assql/,然后打开com.maclema.mysql.HandshakeHandler.as,修改doSecureAuthentication411()这个方法里的这句设定语言的语句:
//language
            //packet.writeByte( 8 ); //charset
            packet.writeByte( 33 );
这样,打包好的assql.swc就可以支持中文了。

转载于:https://www.cnblogs.com/TV9/archive/2008/06/04/1213466.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值