Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP初学者,请教关于从数据库读取后输出会乱码的情况

PHP初学者,请教关于从数据库读取后输出会乱码的情况

WBOY
WBOYasal
2016-06-23 13:50:501077semak imbas

目前用的wampserver
数据库选择UTF8 general_CI ,页面charset使用utf8,PhpMyAdmin中夫妻链接校对使用UTF8 GENERAL CI,
然后这段代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf8"><title>Insert title here</title></head>    <body>    <p>This page uses frames. The current browser you are using does not support frames.</p>    <?php$con= mysql_connect("localhost","root","root");if(!$con){die('Could not connect : ' . mysql_error());}mysql_select_db("tes",$con);$result = mysql_query("select * from cat");while($row = mysql_fetch_array($result)){echo $row['1'] . " " . $row['2'];echo "Go<br/>瓦";}mysql_close($con)	?>    </body></html>



输出的是:

This page uses frames. The current browser you are using does not support frames.
a "乱码不给打"  123Go
瓦 
列1中的数据在数据库中是' a 啊 '  输出后乱码  求教.


回复讨论(解决方案)

mysql_select_db("tes",$con); 
mysql_query('set names utf8'); //加上这句

页面打开时默认的字符编码是GBK   手动切换成UTF8就可以正常显示  但是在后面自己输入的中文又变成了乱码   求教

mysql_select_db("tes",$con); 
mysql_query('set names utf8'); //加上这句




加了,无效 还是乱码. 目前试过正常输出的情况就是手动切换成utf,页面打开的时候默认使用了GBK.

但是切换成UTF8的话在后面的自己输入的中文就变成了乱码



我去.这下倒成了.我用java的时候打UTF8也能识别- - 没想到现在不可以.
不过还有一个问题就是这样的话我在读取完数据库之后自己输入的一个中文又变成了乱码

在哪输入,编辑器中? 那说明你的文件不是utf-8编码,用编辑器设成utf-8 无bom 头格式保存。

在哪输入,编辑器中? 那说明你的文件不是utf-8编码,用编辑器设成utf-8 无bom 头格式保存。


已通过更改文本字符编码解决乱码  问题 谢谢
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn