为什么PHP向MySQL中插入中文后,在MySQL和网页上显示的都是?????啊?跪求大仙帮忙!!!!
时间:2011-09-08
来源:互联网
向MySQL中写入数据的文件如下:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
$sServer="127.0.0.1:3306";
$sUserName="root";
$sPassword="zhangyuanming";
$sDBName="chardb";
mysql_query("set names 'gb2312'");
$dbLink=@mysql_connect($sServer,$sUserName,$sPassword);
if($dbLink==null){
echo "打开数据库失败<br>";
exit();
}
$bResult=mysql_select_db($sDBName,$dbLink);
if($bResult==true){
$sName="赵六";
$sSex="女";
$sBirthday="1991-6-8";
$sAddress="杭州市下城区";
$sSQL="insert into student(name,sex,birthday,address) values ('{$sName}','$sSex','$sBirthday','$sAddress')";
$bRes=mysql_query($sSQL,$dbLink);
if($bRes==true){
echo "已经成功插入一条数据<br>";
}else{
echo "插入数据失败<br>";
}
}
@mysql_close($dbLink);
?>
为什么我在使用以上代码向MySQL中插入数据后,在MySQL中使用select * from student;查询后出来的都是乱码啊,跪求大仙帮忙解决以下,这个问题已经困扰我很多天了,还有MySQL的配置文件my.ini我已经改为:
[client]
default-character-set = gb2312
[mysql]
default-character-set = gb2312
[mysqld]
default-character-set = gb2312
还有我使用的输出文件如下
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
$sServer="127.0.0.1:3306";
$sUserName="root";
$sPassword="zhangyuanming";
$sDBName="chardb";
$dbLink=@mysql_connect($sServer,$sUserName,$sPassword);
mysql_query("set names 'gb2312'");
if($dbLink==null){
echo '打开数据库失败<br>';
exit();
}
$bResult=mysql_select_db($sDBName,$dbLink);
if($bResult==TRUE){
$sSQL="select name,birthday,address from student";
$result=mysql_query($sSQL,$dbLink);
while($resObject=mysql_fetch_object($result)){
echo "<h1>"."name is ".$resObject->name. " and birthday is ".$resObject->birthday." and address is ".$resObject->address."</h1> "." <br>";
}
mysql_free_result($result);
}
@mysql_close($dbLink);
?>
跪求大仙帮忙,让网页上显示的?????变为我所插入的中文吧……小弟在此先谢过了!!!
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
$sServer="127.0.0.1:3306";
$sUserName="root";
$sPassword="zhangyuanming";
$sDBName="chardb";
mysql_query("set names 'gb2312'");
$dbLink=@mysql_connect($sServer,$sUserName,$sPassword);
if($dbLink==null){
echo "打开数据库失败<br>";
exit();
}
$bResult=mysql_select_db($sDBName,$dbLink);
if($bResult==true){
$sName="赵六";
$sSex="女";
$sBirthday="1991-6-8";
$sAddress="杭州市下城区";
$sSQL="insert into student(name,sex,birthday,address) values ('{$sName}','$sSex','$sBirthday','$sAddress')";
$bRes=mysql_query($sSQL,$dbLink);
if($bRes==true){
echo "已经成功插入一条数据<br>";
}else{
echo "插入数据失败<br>";
}
}
@mysql_close($dbLink);
?>
为什么我在使用以上代码向MySQL中插入数据后,在MySQL中使用select * from student;查询后出来的都是乱码啊,跪求大仙帮忙解决以下,这个问题已经困扰我很多天了,还有MySQL的配置文件my.ini我已经改为:
[client]
default-character-set = gb2312
[mysql]
default-character-set = gb2312
[mysqld]
default-character-set = gb2312
还有我使用的输出文件如下
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<?php
$sServer="127.0.0.1:3306";
$sUserName="root";
$sPassword="zhangyuanming";
$sDBName="chardb";
$dbLink=@mysql_connect($sServer,$sUserName,$sPassword);
mysql_query("set names 'gb2312'");
if($dbLink==null){
echo '打开数据库失败<br>';
exit();
}
$bResult=mysql_select_db($sDBName,$dbLink);
if($bResult==TRUE){
$sSQL="select name,birthday,address from student";
$result=mysql_query($sSQL,$dbLink);
while($resObject=mysql_fetch_object($result)){
echo "<h1>"."name is ".$resObject->name. " and birthday is ".$resObject->birthday." and address is ".$resObject->address."</h1> "." <br>";
}
mysql_free_result($result);
}
@mysql_close($dbLink);
?>
跪求大仙帮忙,让网页上显示的?????变为我所插入的中文吧……小弟在此先谢过了!!!
作者: lianshizhongxue 发布时间: 2011-09-08
你的数据库和表也要改为gb2312
还有你的程序编码也要为gb2312,这个用你的编辑器改改。
还有你的程序编码也要为gb2312,这个用你的编辑器改改。
作者: jordan102 发布时间: 2011-09-08
1楼正解!
作者: abdiweli 发布时间: 2011-09-08
麻烦1楼在给小弟讲清楚点好吗,小弟刚刚起步,不是很懂,数据库和表的信息如下
Connection id: 5
Current database: chardb
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.51b-communi
Protocol version: 10
Connection: localhost via T
Server characterset: utf8
Db characterset: utf8
Client characterset: gb2312
Conn. characterset: gb2312
TCP port: 3306
Uptime: 52 min 26 sec
编码上应该没问题了吧,还有我用的是VIM请问我该怎么修改程序的编码方式啊!!!谢谢啊……
Connection id: 5
Current database: chardb
Current user: root@localhost
SSL: Not in use
Using delimiter: ;
Server version: 5.0.51b-communi
Protocol version: 10
Connection: localhost via T
Server characterset: utf8
Db characterset: utf8
Client characterset: gb2312
Conn. characterset: gb2312
TCP port: 3306
Uptime: 52 min 26 sec
编码上应该没问题了吧,还有我用的是VIM请问我该怎么修改程序的编码方式啊!!!谢谢啊……
作者: lianshizhongxue 发布时间: 2011-09-08
你是想用哪种编码呢?gbk? utf-8? 如果是要用gb2312 or gbk 那么就一定要把数据库的编码弄成gbk gb2312的格式.你看你现在数据库的是 utf8格式不是..表也是...
作者: PhpNewnew 发布时间: 2011-09-08
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28