mysql中文无法读取。。。
这是mysql数据库的编码方式
这是后台数据的结果,不使用中文的话会正常写入到后台,使用中文的话就不能被写入。(注意看倒数几排数据)
直接向数据库写入中文的话,会显示出来。
php代码部分
if(isset($_post['b1']))
{
$username=$_post[username];
$message=$_post[message];
if($username==)
{
echo ;
if($message==)
{
echo ;
}
}
else
{
$addtime=date(y-m-d h:m:s);
$id=mysql_connect(localhost,root,1234);
mysql_select_db(gbook,$id);
$query=insert into message(author,addtime,content,reply) values('$username','$addtime','$message','');
$result=mysql_query($query,$id);
mysql_close($id);
//echo result=.$result;
echo ;
}
}
------解决方案--------------------
$username=iconv('gb2312','utf-8',$_post[username]);
$message=iconv('gb2312','utf-8',$_post[message]);
------解决方案--------------------
数据库编码是 utf8
直接向数据库写入中文的话,会显示出来。(截图追后一行)
phpmyadmin 会做编码设置,自然没有问题
你的代码没有做编码设置,所以出现问题是很正常的!
当文件编码是 gbk (windows 下的 ansi)时应有
mysql_query('set names gbk');
当文件编码是 utf-8 时应有
mysql_query('set names utf8');