PHP+MySQL乱码的解决
在DOS中进行MySQL的访问可能乱码的情况有三种,
首先,要做的是检查MySQL的配置,安装的时候选择utf-8的语言环境会省去很多的麻烦
1. 检查MySQL的服务端、客户端的语言设置是否为“utf8”,不是的话手动将my.int更改过来;
2. 在PHP进行第一次mysql_query之前设置使用连接的字符集为"SET NAMES 'utf8'",即mysql_query("SET NAMES 'utf8'");很多人做到这里就可以看到汉字了;
3. 设置database的字符集——例如,CREATE DATABASE dmsdb DEFAULT CHARACTER SET utf8 COLLATE utf8_bin,这样使用show full column from tablename查到的VARCHAR的COLLATE才是utf8_bin类型的;
其次,应该发现再次查询的结果字符串有了变化,这时如果有许多的日文字符出现,再看PHP.ini的设置:
php中要对php.ini文件中line 637: extension=php_mbstring.dll 前的分号除掉,并且必需修改mb_string的相关编码配置,修改后的内容为:
line 1164: mbstring.language = utf-8
line 1169: mbstring.internal_encoding = utf-8
line 1172: mbstring.http_input = auto
line 1176: mbstring.http_output = utf-8
line 1183: mbstring.encoding_translation = On
line 1187: mbstring.detect_order = auto
line 1191: mbstring.substitute_character = utf-8;
line 1201: mbstring.func_overload = 1
(所有行号均对应的是php5.1.6 版本的php.ini-recommand)
当此时设置完成后我在dos里进行查询操作还是会出现乱码的形式,这时要考虑dos的设置问题了,
在Shell>mysql --default-character-set=gbk -u root -p,应该再进行查询就会显示出完美的汉字了!
相关文档:
最近工作范畴由原来的.net切换到了php,综合这段时间的认知,觉得在php这个体系中MVC模式未必是一个好东西。
从某种理论上来说,MVC确实可以让系统更清晰和更明了。
但是一个很重要的一点也存在了,MVC让页面更多了起来!!!这点很重要
PHP在没有一个比较好的IDE的支持下,页面跳转和切换实在是非常不方便。
没有一个好 ......
[PHP]
;;;;;;;;;;;;;;;;;;;
; About php.ini ;
;;;;;;;;;;;;;;;;;;;
; PHP's initialization file, generally called php.ini, is responsible for
; configuring many of the aspects of PHP's behavior.
; PHP attempts to find and load this configuration from a number of locations.
; The follo ......
/**
* 使用共享内存的PHP循环内存队列实现
* 支持多进程, 支持各种数据类型的存储
* 注: 完成入队或出队操作,尽快使用unset(), 以释放临界区
*
* @author wangbinandi@gmail.com
* @created 2009-12-23
*/
class SHMQueue
{
private $maxQSize = 0; // 队列最大长度
private $front = 0; ......
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.springframework.org/schema/jee"
&nbs ......
mysql 目录下的 my.ini 有两处要修改 一处是 [mysql] default-character-set=gbk 还有一处是否认建表时使用的字符集 default-character-set=gbk 两处修改一下,重新建立数据库和表后就不会出现乱码了。 建表时也可以指定数据库或表所使用的字符集 如果不能重建数据库则只能在指定的数据库目录下把对应的 db.opt � ......