0

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 エンコーディングを使用して記述されています。

4

3 に答える 3

7

mysql_set_charsetを使用してデータベースに接続した直後に、MySQL 接続エンコーディングを UTF-8 に設定する必要があります。

mysql_set_charset('utf8');

ストレージでのテキストのエンコード方法に関係なく、サーバーは接続エンコードを使用して情報をクライアントに送信します。latin1多くのインストールでは、デフォルトで接続エンコーディングが使用されます。

mysqlまた、新しいコードで古い API を使用しないでください。これは推奨されておらず、将来のバージョンで PHP から削除される予定です。

于 2013-03-27T09:32:44.640 に答える
0

ページエンコーディングも設定する必要があります。

<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    </head>
    <body>
    <!-- and so on -->
于 2013-03-27T09:27:29.083 に答える
0

あなたのデータがどのように見えるかわかりませんが、試着utf8_decode utf8_encodeしました$row['name']か?

于 2013-03-27T09:28:13.413 に答える