Flex asSql库在连接MySql时显示中文字符串为乱码的问题

(assql是Flex用于连接MySql的一个开源库,可以从http://code.google.com/p/assql/downloads/list下载到。)

问题:

通过使用assql查询、更新、插入mysql记录时,中文字符都呈现乱码。


网上信息:

通过百度、谷歌一堆解决办法,基本上都是在修改assql源代码,但最新的2.8版本都已经修复,所以改源代码没用。


问题根源:

不在于assql,而在于mysql的字符集设置。

mysql字符集的问题可以参看:http://apps.hi.baidu.com/share/detail/22337180

简言之,就是将mysql上的字符集全都改为utf8,包括表中包含中文字符的每一列的字符集都改为utf8(如果是其它字符集,跟下面三个变量不一致,还是会出问题的)。

其中跟Flex关系最大的是下面3个变量:

character_set_client

character_set_connection

character_set_results    

因为flex跟mysql通信实际上是客户端跟服务器之间的通信,这样的话服务器在收到客户端的请求时,要知道请求过来的字符串是何种编码,这是通过character_set_client知道的,然后mysql要把这种编码的字符串转化为自身能解释的字符串,解释成什么字符串就由character_set_connection决定,最后当需要向客户端返回响应时,Mysql还要知道该以何种编码返回给客户端,这又由character_set_results决定。




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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值