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,应该再进行查询就会显示出完美的汉字了!
相关文档:
PHP源代码简单分析
1. 目录结构
1. build 和编译有关的目录。
2. ext 扩展库代码,例如 Mysql、zlib、iconv 等我们熟悉的扩展库。
3. main 主目录。
4. sapi 和各种服务器的接口调用,例如apache、IIS等,也包含一般的fastcgi、cgi等。
5. wi ......
基础问题:
最近被单双引号困扰着,不知道什么时候用双引号,什么时候用单引号。总结区分一下
在大部份语言中,引号引起来的内容都表示为字符。
例如:
<a href="地址">链接</a>
echo "字符串";
print("字 ......
代码如下:
<?php
class Book{
static $num=0;
public function showme(){
echo '您是第'.self::$num.'位访客';
self::$num++;
......
1、首先通过代码来看看表象:
<?php
session_start();
if (empty($_SESSION['count'])) {
$_SESSION['count'] = 1;
} else {
$_SESSION['count']++;
}
var_dump($_SESSION);
var_ ......
1.只复制表结构到新表
CREATE TABLE 新表 SELECT * from 旧表 WHERE 1=2
或CREATE TABLE 新表 LIKE 旧表
2.复制表结构及数据到新表
CREATE TABLE 新表 SELECT * from 旧表
3.复制旧表的数据到新表(假设两个表结构一样)
INSERT INTO 新表 SELECT * from 旧表
4.复制旧表的数据到新表(假设两个表结构不一样)
......