加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 01:17:51 所属栏目:百科 来源:网络整理
导读:(assql是Flex用于连接MySql的一个开源库,可以从http://code.google.com/p/assql/downloads/list下载到。) 问题: 通过使用assql查询、更新、插入mysql记录时,中文字符都呈现乱码。 网上信息: 通过百度、谷歌一堆解决办法,基本上都是在修改assql源代码

(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决定。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读