参考文献: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");
}