最近开始学习PHP,马上就遇到了中文乱码问题,
页面编辑文本是用UTF-8编码,数据库也是UTF-8编码,可是连接数据库并且存取数据时遇到了中文乱码,
解决的方法是在执行SQL语句前添加一行代码:
mysql_query("set names 'utf8'");
测试连接数据库代码如下:
<?php
$con = mysql_connect("localhost","root","youyo");
if(!$con)
{
die('Could not connect:'.mysql_error());
//echo "连接数据库失败";
}
echo "连接数据库成功!";
//create database my_db
mysql_query("drop database if exists my_db");
if(mysql_query("create database my_db",$con))
{
echo "成功创建数据库my_db";
}
else
{
echo "创建数据库失败:".mysql_error();
}
//create table user
mysql_select_db("my_db",$con);
mysql_query("drop table if exists user");
$sql ="create table user(
userId int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(userId),
userName varchar(20) NOT NULL,
passWord varchar(20) NOT NULL,
sex varchar(5),
city varchar(20),
birthday timestamp)";
if(mysql_query($sql,$con))
{
echo "成功创建表user";
}
else
{
echo "创建表失败:".mysql_error();
}
$sqlA ="insert into user values(1,'youyo','youyo','male','上海',now())";
mysql_query("set names 'utf8'"); //解决中文乱码
if(mysql_query($sqlA,$con))
{
echo "成功存储信息A";
}
else
{
echo "存储信息失败:".mysql_error();
}
//close connect
mysql_close($con);
?>
希望各位大神多多补充其他的的中文乱码问题哈。
(第一次在博客记录自己遇到的小问题哈~)