日期:2014-05-16  浏览次数:20425 次

php不同系统下数据库操作乱码

最近写php项目,一直是在win xp环境下开发的。

?

今天部署到远程空间(UNIX的FreeBSD),ftp完成以后。使用后台编辑功能就会出现乱码问题。

?

因为本地环境都是自己搭建的,所以哪里有问题都可以解决;远程不是很清楚,系统配置也不开放,但租用平台是对所有人开放的,所以也就排除这种问题机器配置错误。

?

测试发现,只有在和数据库操作才有乱码,其他正常。

?

确定位置就好处理,查询mysql文档

http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html

A?SET NAMES 'x'?statement is equivalent to these three statements:

SET character_set_client = x;
SET character_set_results = x;
SET character_set_connection = x;

?

?

方案:在php操作db前字符集设置:@mysql_query("set names utf8");

(因为用ez_sql,在ez_sql_mysql.sql 192行添加)

?

远程环境编辑ok,但是本地环境加这句就出现乱码。还不清楚具体是有哪些什么原因引起的?但有个不同点:操作系统字符集。

?

?