作者rainyuhtree (ianyu)
看板PHP
标题[请益] 资料库输出是乱码
时间Wed Apr 13 19:50:02 2011
我在会员中文名字写入资料库时,是正常显示的
但当我利用帐号抓取会员中文名字时
$sql=mysql_query("select * from persondata where memacc='$uracc'");
while($row=mysql_fetch_array($sql))
{
echo "<p>".$row[2]."</p>";
$_SESSION["usersname"]=$row[2];
}
却无法正常显示,(英文可以)
但好像也不是乱码,都会出现???
想是我资料库内的名字是『张』,他却跑出『撘?/p>』
感觉『p>』就是echo那边的
但另一个一样是show出资料库所有资料时
include ("db.php");
$sql = "select * from msgarea where reply=0 order by count desc";//之後要
order by good
$result = mysql_query($sql);
while
(list($no,$name,$subject,$content,$condition,$whichno,$putdate,$page,$type,$count,$good,$soso,$bad)
=mysql_fetch_row($result))
{
echo "<tr><td>".$name;
echo "<td><a href = detail.php?no=$no>".$subject."</a>";
echo "<td>".$type;
echo "<td>".$putdate;
echo "<td>".$count;
echo "<td>".$good;
echo "<td>".$soso;
echo "<td>".$bad;
}
echo "</table>"
这一段就可以完整的show资料库内的中文,然後没有乱码
我有做的事情是
在php里头都有加上
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER_SET_CLIENT=utf8");
mysql_query("SET CHARACTER_SET_RESULTS=utf8");
在html都有加上
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=utf8">
我的资料库是
MySQL 文字编码: UTF-8 Unicode (utf8)
MySQL 连线校对:UTF-8 Unicode_ci
----------
还有想问
制作留言板
在标题和内文的输入部分
都只能打英文才能写入
只要是中文就无法写入资料库
问题会出在哪里呢
我都有按照书本范例做
-----------
还请大家指教指教
虽然这已经是老问题了
我也有爬过文看过了
已经有些部分有解决
但这一部分还是有问题
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 114.46.161.6
※ 编辑: rainyuhtree 来自: 114.46.161.6 (04/13 19:53)
1F:→ yanli2:你用phpmyadmin进去看资料会是正常还是乱码呢? 04/13 19:51
2F:→ rainyuhtree:资料库里头的资料表中文显示是正常的 04/13 19:53
3F:推 mesak:输出网页的编码 资料库的编码 04/13 21:26
4F:→ wbc319:可是我这样做....是正常的。你保留 mysql_query("set 看看 04/14 01:27
5F:推 lance70176:在文字编码的时候再转一次UTF-8转BIG5 04/14 09:32
6F:推 ez880:应该是 big5转 utf8吧 他不是 utf-8的资料库吗 @@ 04/14 12:08
7F:推 wbc319:他资料库是 utf8 正常显示,应该是输出问题 04/14 15:35
8F:→ buganini:charset=utf-8 04/14 17:34
10F:→ rainyuhtree:昨天Y大有帮我解决了,问题是说,我的DB式设定UTF8 04/14 22:27
11F:→ rainyuhtree:但是我的电脑系统好像是BIG5,所以mysql_query内改成 04/14 22:28
12F:→ rainyuhtree:big5,html内也是写big5,就可以了 04/14 22:29