Flash Builder 4.6与php通信时,返回值为乱码的解决方案

来源:互联网 发布:淘宝咋设置选购热点 编辑:程序博客网 时间:2024/04/30 14:41

参考文献:http://hi.baidu.com/qinpanke/blog/item/04af75c72ddebb0f9d163de3.html

前台采用Flash Builder,数据库操作采用PHP与MySQL相结合的方案在Web游戏编程等方面有着广泛应用,在实际应用中,发现PHP传回的中文字符在Flash Builder中显示时,全部成了问号之类的乱码,但用于显示数据的容器(如DataGird控件)上的汉字显示正常,很显然属于PHP传回的数据的编码问题,跟踪Flash Builder与PHP传回的数据(为一个DataList对象)也证明了这一点,下面着手解决。

      在网上搜了一大堆,多数靠谱,修改了MySQL中数据库的编码与“整理”的类型,全部改为“utf8",没用;找PHP头部,没有关于编码类型的规定……最后还是用本文开头链接所介绍的方法得以顺利解决,具体如下:

      Flash Builder与PHP通信而定义的连接对象,定义了数据库连接与操作的方法,是一个保存在服务器端的PHP文件,如果你需要自定义对数据库的一些操作,可把代码写在此处,然后更新(清理)项目,重新编译即可(PS: Flash Builder与PHP结合对MySQL数据库操作的方法,与Flex相关参考书中介绍的有所不同,具体连接数据库的方法与示例,在后续介绍中再写),在这个文件中,找到数据库连接方法的定义部分,在最后加上下面示例代码中注释之下的这条语句,立即OK!

public function __construct() {
    $this->connection = mysqli_connect(
          $this->server, 
          $this->username, 
          $this->password,
          $this->databasename,
          $this->port
         );

  $this->throwExceptionOnError($this->connection);

//数据库连接所使用的字符集的定义
   mysqli_set_charset($this->connection, "utf8");
}

 

原创粉丝点击