最近写php项目,一直是在win xp环境下开发的。
今天部署到远程空间(unix的freebsd),ftp完成以后。使用后台编辑功能就会出现乱码问题。
因为本地环境都是自己搭建的,所以哪里有问题都可以解决;远程不是很清楚,系统配置也不开放,但租用平台是对所有人开放的,所以也就排除这种问题机器配置错误。
测试发现,只有在和数据库操作才有乱码,其他正常。
确定位置就好处理,查询mysql文档
[url=http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html]http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html[/url]
<span style="font-family: verdana, arial, helvetica, sans-serif; font-size: 14px; color: #555555; line-height: 14px;"></span>
statement is equivalent to these three statements:
方案:在php操作db前字符集设置:@mysql_query("set names utf8");
(因为用ez_sql,在ez_sql_mysql.sql 192行添加)
远程环境编辑ok,但是本地环境加这句就出现乱码。还不清楚具体是有哪些什么原因引起的?但有个不同点:操作系统字符集。
今天部署到远程空间(unix的freebsd),ftp完成以后。使用后台编辑功能就会出现乱码问题。
因为本地环境都是自己搭建的,所以哪里有问题都可以解决;远程不是很清楚,系统配置也不开放,但租用平台是对所有人开放的,所以也就排除这种问题机器配置错误。
测试发现,只有在和数据库操作才有乱码,其他正常。
确定位置就好处理,查询mysql文档
[url=http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html]http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html[/url]
<span style="font-family: verdana, arial, helvetica, sans-serif; font-size: 14px; color: #555555; line-height: 14px;"></span>
statement is equivalent to these three statements:
set character_set_client = <em class="replaceable" style="font-size: 13px; vertical-align: baseline; background-color: transparent; font-style: italic; font-weight: bold; padding: 0px; margin: 0px;"><code style="font-size: 12px; vertical-align: baseline; background-color: #cccccc; color: #026789; font-weight: normal; font-family: 'courier new', courier, fixed, monospace; padding: 1px; margin: 0px;">x</code></em>;set character_set_results = <em class="replaceable" style="font-size: 13px; vertical-align: baseline; background-color: transparent; font-style: italic; font-weight: bold; padding: 0px; margin: 0px;"><code style="font-size: 12px; vertical-align: baseline; background-color: #cccccc; color: #026789; font-weight: normal; font-family: 'courier new', courier, fixed, monospace; padding: 1px; margin: 0px;">x</code></em>;set character_set_connection = <em class="replaceable" style="font-size: 13px; vertical-align: baseline; background-color: transparent; font-style: italic; font-weight: bold; padding: 0px; margin: 0px;"><code style="font-size: 12px; vertical-align: baseline; background-color: #cccccc; color: #026789; font-weight: normal; font-family: 'courier new', courier, fixed, monospace; padding: 1px; margin: 0px;">x</code></em>; 方案:在php操作db前字符集设置:@mysql_query("set names utf8");
(因为用ez_sql,在ez_sql_mysql.sql 192行添加)
远程环境编辑ok,但是本地环境加这句就出现乱码。还不清楚具体是有哪些什么原因引起的?但有个不同点:操作系统字符集。
本文探讨了在Windows XP环境下开发的PHP项目部署到FreeBSD远程服务器时遇到的字符集乱码问题。主要表现为与数据库交互时出现乱码,通过调整MySQL连接字符集解决了远程服务器的问题,但在本地环境中又出现了相反的情况。
1160

被折叠的 条评论
为什么被折叠?



