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决定。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |