MySQL编码utf8_general_ci

时间:2013-03-27 09:26:20

标签: php mysql

我有一个使用utf8_general_ci编码的数据库,但是当我用php获取数据到它显示“????”的页面时,出了什么问题?

<?php
$query1 = "SELECT name FROM `kotegorii`";
$result1 = mysql_query($query1) or die(mysql_error());
echo "<h3>Категориялар</h3>";
while ($row = mysql_fetch_array($result1)) {

    echo $row['name']."<br>";
}
?>

代码也使用UTF-8编码编写..

3 个答案:

答案 0 :(得分:7)

在使用mysql_set_charset连接数据库后,您必须立即将MySQL连接编码设置为UTF-8:

mysql_set_charset('utf8');

无论文件在存储中的编码方式如何,服务器都使用连接编码向客户端发送信息。在许多安装中,默认情况下连接编码为latin1

此外,您不应在新代码中使用旧的mysql API;它已被弃用,并将在以后的某个版本中从PHP中删除。

答案 1 :(得分:0)

您也应该设置页面编码。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <!-- and so on -->

答案 2 :(得分:0)

我不知道您的数据有何效果,但您是否在utf8_decode上尝试了utf8_encode $row['name']