<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>中文乱码</title>
</head>
<body>
<?php
$MySQLConnection = mysql_connect( "localhost", "root", "123456" );
@mysql_select_db( "first");
$result = mysql_query("SELECT * FROM `biao`");
?><div>表格1</div>
<table id="tabTest" style="width:600px;">
<?php
while($row = mysql_fetch_array($result)){ 
?>
<tr>
<td><?=$row['hao']; ?></td>
<td><?=$row['mingzi'] ?></td>
</tr>
<?php

?>
</table>
</body>
</html>
现在div中的“表格1”可以正常显示,就是从数据库提取的数据中文变问号,英文也正常

解决方案 »

  1.   

    你数据库的数据正常吗 用的是utf8吗。
    同时也加上 mysql_query("SET NAMES 'utf8'");
      

  2.   

    数据库正常吧 英文数据也取到了 ,就是中文问号, 我试了你说的这个mysql_query("SET NAMES 'utf8'");可还是不行,我是搞前端的 ,数据库东西知道不多
      

  3.   

    1.数据库取数据前 query("SET NAMES 'UTF8'"),注意数据库的相关编码也需要设置为UTF8
    2.文件编码为utf-8格式 注意是文件编码
    3.在php添加header('Content-Type: text/html; charset=UTF-8'); Over.简称三码一致...
      

  4.   

    注意数据库的相关编码也需要设置为UTF8
    这个从哪里设置啊?
      

  5.   


    建表的时候,当然也可以再修改.如果你不会,我推荐你用mysqlyog 这个图形管理工具对数据库进行管理.很方便,很简单
      

  6.   

    我用的是phpMyAdmin  是不是就是建立数据库时候 有个整理 选择utf8_general_ci啊?
      

  7.   

    我在页面做了个插入数据的功能,在input里输入中文,后台数据库里显示的是乱码,但前台正常显示的是中文;我在后台数据库里直接手工填写中文,前台却显示的是问号。
      

  8.   

    1.数据库编码
    2.数据表编码
    3.字段编码alter database name character set utf8; 
    alter table type character set utf8; 
    alter table type modify type_name varchar(120) CHARACTER SET utf8; 字段自己用phpmyadmin修改吧
      

  9.   

    谢谢PhpNewnew 今天我搞不定了 明天再研究
     
      

  10.   


    要么你的那个表的编码不是utf8
    要么就是你的页面编码不是utf8,用你的编辑器改下。
      

  11.   

    我又重新建了数据库 建了表 都是用utf8_general_ci 可还是不行 不会是phpMyAdmin本身有问题吧
      

  12.   

    现在正常了  @mysql_query("SET NAMES 'utf8'"); 这个位置我放在插入sql后面了, 应该放在前面