Home >Backend Development >PHP Tutorial > MYSQL数据库乱码,该怎么处理
MYSQL数据库乱码
存储中文乱码,好像是字符集不统一,如何设置
$db_name="students";
$table_name="classone";
$conn=mysql_connect('localhost','root','abcdef') or
die ("连接数据库服务器失败。".mysql_error());
echo "数据库服务器信息:".mysql_get_host_info($conn)."
";
$mysql_command="drop database if exists ".$db_name;
$result=mysql_query($mysql_command);
$mysql_command="create database ".$db_name;
$result=mysql_query($mysql_command) or
die ("建立数据库失败。".mysql_error());
mysql_select_db($db_name, $conn) or
die ("选择数据库失败。".mysql_error());
echo "数据库名称:$db_name 数据表名称: $table_name
";
mysql_query ("SET NAMES 'GB2312'");
$mysql_command="create table ".$table_name;
$mysql_command=$mysql_command."( name varchar(30), numb varchar(40), age int(6))";
$result=mysql_query($mysql_command) or
die ("建立数据表:$table_name 失败!".mysql_error());
echo "成功建立数据表: $table_name
";
mysql_query ("SET NAMES 'GB2312'");
$mysql_command="insert into ".$table_name."(name,numb,age) values (\"";
$mysql_command=$mysql_command."刘华\",\"200801\",27)";
$result=mysql_query($mysql_command) or
die ("数据表:$table_name 增加记录失败!".mysql_error());
echo "成功增加数据表:".$table_name.". 的记录。";
?>
------解决方案--------------------
编码常用的是utf8-general-ci
不只是表要通一,要统一的总共有四处
一是:数据库类型,其中包括,数据库,表,字段三处都要统一,可以检查一下
二是:文件的编码类型,你若用dw或editplus可以查看页面编码,不同需修改
三是:访问数据库时的设置既set NAMES utf8;
四是:浏览器显示方式,既
不管用GBK,GB2312,这四处必须统一
------解决方案--------------------
ok,这个问题是我前天所遇见的,我的步骤是这样的:
1.所编辑的代码必须是UTF-8无BOM格式的
2.在数据库中设置属性,所有的字段都是用utf-8
3.在你要写进数据库和读出数据库时用添上该代码:
mysql_query("set character set 'utf-8'");
mysql_query("set names utf8");
做好是用构造函数来写出这段代码,方便些
------解决方案--------------------
编码常用的是utf8-general-ci
不只是表要通一,要统一的总共有四处
一是:数据库类型,其中包括,数据库,表,字段三处都要统一,可以检查一下
二是:文件的编码类型,你若用dw或editplus可以查看页面编码,不同需修改
三是:访问数据库时的设置既set NAMES utf8;
四是:浏览器显示方式(html),既
五是:php文件头加上(ajax调用时有时候还需要转换函数)
header('Content-Type: application/x-www-form-urlencoded'); header('Content-Type: text/html;charset=utf-8'); <div class="clear"> </div>