PHP中出现乱码的UTF-8字符

时间:2014-06-04 16:38:48

标签: php utf-8

<?php
        require ('sql_connect.php');

        $query = "select * from `products`";
        $result = mysql_query($query);

        while($row = mysql_fetch_array($result))
        {
            $imagem = $row['imagem'];
            $texto = $row['texto'];

            echo "<img src=Images/Products/$imagem> <br> $texto";
        }
        ?>    

我有想要在我的数据库中显示的图像和图像文本。

我显示图像,但我的文字有问题......文字没有显示输入/空格和重音。

问题图片:http://imgur.com/LHg4eK6,C7SZD4M

我想要这个:http://imgur.com/LHg4eK6,C7SZD4M#1

1 个答案:

答案 0 :(得分:1)

这种情况正在发生,因为您未将编码正确设置为UTF-8 (或包含您要显示的所有字符的其他编码)。为此,您需要:

  • 将编码设置为数据库中的UTF-8 (如果您可以在PhpMyAdmin中正确查看文本,则可以跳过此步骤。)
  • 告诉PHP您正在使用UTF-8 。为此,请运行:

    mysql_query("SET NAMES utf8");
    

    在您连接到数据库之后(将此行添加到sql_connect.php文件的末尾)


请注意,您不应再使用mysql_*功能(请参阅我对您问题的评论)。如果你切换到MySQLi,你可以运行:

$db->set_charset("utf-8");

更改字符集。


另见: