Home > Database > Mysql Tutorial > MYSQL数据库使用UTF-8中文编码乱码的解决办法_MySQL

MYSQL数据库使用UTF-8中文编码乱码的解决办法_MySQL

WBOY
Release: 2016-05-30 17:10:21
Original
1104 people have browsed it

1.用phpmyadmin创建数据库和数据表
创建数据库的时候,请将“整理”设置为:“utf8_general_ci”
或执行语句:

代码如下:

CREATE DATABASE `dbname` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; 


创建数据表的时候:如果是该字段是存放中文的话,则需要将“整理”设置为:“utf8_general_ci”,
如果该字段是存放英文或数字的话,默认就可以了。
相应的SQL语句,例如:

CREATE TABLE `test` ( 
`id` INT NOT NULL , 
`name` VARCHAR( 10 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL , 
PRIMARY KEY ( `id` ) 
) ENGINE = MYISAM ; 
Copy after login

2.用PHP读写数据库
在连接数据库之后:

代码如下:

$connection = mysql_connect($host_name, $host_user, $host_pass);


加入两行:

mysql_query("set character set 'utf8'");//读库 
mysql_query("set names 'utf8'");//写库 
Copy after login

就可以正常的读写MYSQL数据库了。
用的appserv-win32-2.5.10做的环境,装这个包的时候用默认的utf8编码。
在写数据库连接文件时,写成:

$conn = mysql_connect("$host","$user","$password"); 
mysql_query("SET NAMES 'UTF8'"); 
mysql_select_db("$database",$conn); 
Copy after login

然后在做页面时,注意这句:

代码如下:


这样不管输入数据库的中文,还是页面显示,就都正常了。
在DW CS4版里,默认生成的也是utf8页面。
同样的,如果一开始写数据库连接文件时写成:

mysql_query("SET NAMES 'GBK'"); 
Copy after login

那页面也要相应变成:

代码如下:

 


source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template