>  기사  >  백엔드 개발  >  mysql汉语言无法读取。

mysql汉语言无法读取。

WBOY
WBOY원래의
2016-06-13 11:50:19938검색

mysql中文无法读取。。。

这是mysql数据库的编码方式

这是后台数据的结果,不使用中文的话会正常写入到后台,使用中文的话就不能被写入。(注意看倒数几排数据)
直接向数据库写入中文的话,会显示出来。
PHP代码部分
if(isset($_POST['B1']))
{
$username=$_POST["username"];
$message=$_POST["message"];
if($username=="")
{
echo "<script> alert('请输入您的姓名!');</script>";
if($message=="")
{
echo "<script> alert('请输入留言内容!');</script>";
}
}
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 "<script> alert('留言成功,点击确定查看留言!');location.href='index.php';</script>";
}
}
------解决方案--------------------

<br />$username=iconv('gb2312','utf-8',$_POST["username"]);<br />$message=iconv('gb2312','utf-8',$_POST["message"]);

------解决方案--------------------
数据库编码是 utf8
直接向数据库写入中文的话,会显示出来。(截图追后一行)
phpmyadmin 会做编码设置,自然没有问题
你的代码没有做编码设置,所以出现问题是很正常的!
当文件编码是 gbk (windows 下的 ANSI)时应有
mysql_query('set names gbk');
当文件编码是 utf-8 时应有
mysql_query('set names utf8');


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.