存档

文章标签 ‘’

Zend Studio 5.5中文乱码解决办法

2009年4月13日

Zend Studio 5.5会出现中文乱码现象。如果你把以utf-8格式保存的文件用ZS打开,就会看到一堆乱七八糟的文字,惨不忍睹,改了保存依然乱七八糟。这是由于ZS默认编码不是utf-8引起的,可以用以下方式解决:

1、打开 C:\Documents and Settings\Administrator\ZDE\config_5.5\desktop_options.xml

2、查找 editing.encoding

3、修改里面为 <encoding name=”UTF-8″/>

4、保存,并将该文件属性设置为只读,否则zend每次启动都会将 desktop_options.xml 初始化

5、重启 zend

打开后可能让你非常失望,怎么还是乱码呢?没关系,把你已经打开的文档通通关掉,重新打开你的文档,就会发现一切OK了。

如果你在保存有中文页面的文件时出现“无法以utf-8的格式保存文档”的错误,很简单,我想你修改encoding时,用了utf-8,而不是UTF-8,注意是大写!改过来即可。

悠久技术 , ,

MySQL中文乱码的解决办法

2009年4月10日

这几天做一个项目,发现php读取Mysql数据时,会出现中文乱码的错误,全部显示为问号。即使把数据表的字符集改成utf-8,依然不能解决。后来在网上查了一下,得到问题的解决方案了。可以看下此链接,讲解的比较繁琐,我在这里归纳一下。

MySQL的字符集支持(Character Set Support)有两个方面:字符集(Character set)和排序方式(Collation)。对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection)。这几个层次中前三个是继承关系的,即当把服务器设置成某种字符集而数据库和数据表都没有设置字符集时,后面的两个层次自动默认为服务器端的字符集。

在Mysql中,server端默认的字符集为latin1,这与Mysql的历史有关,如果有兴趣可以在网上查一下。所以如果当你在建表和数据库时不设置字符集,将会自动默认为latin1,当你数据表中出现中文时,显然是不支持的,就会出现乱码的问题。

我们按照原来的方式通过PHP存取MySQL数据库时,就算设置了表的默认字符集为utf8并且通过UTF-8编码发送查询,你会发现存入数据库的仍然是乱码。问题就出在这个connection连接层上。解决方法是在发送查询前执行一下下面这句:

SET NAMES ‘utf8′;

它相当于下面的三句指令:
SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

再试试看,正常了吧?

我的解决办法
在 查询语句前加
Mysql_query(”set names utf8″);

悠久技术 , ,