【问题标题】:PHP MySQL Greek letters showing like ???? marksPHP MySQL 希腊字母显示为 ????分数
【发布时间】:2012-08-02 03:03:55
【问题描述】:

我有一个带有一些文本的表,文本是希腊字母,当我使用 sql 工具并从该表中选择数据时,显示正确

但是当我使用 mysql_fetch 数组显示我的站点前端时,当 echo 它显示如下

任何人都知道如何解决此错误 谢谢。

【问题讨论】:

标签: php mysql character-encoding


【解决方案1】:

您不必删除表格或任何东西。 使用 MySQL Workbench 并转到每个表。将排序规则更改为 utf8 - 默认排序规则或 utf8 - 通用 ci。 然后对 Varchar 类型的每一列执行相同的操作 - 它位于窗口底部。

【讨论】:

    【解决方案2】:

    我浪费了很多时间才弄明白。

    简介: 希腊字符在 mysql 中出现错误。我在 PHP 中应用了 qxxx 答案并且工作正常。 然后我不得不把所有东西都迁移到一个新的主机上,然后问题又出现了。

    出了什么问题?

    MySQL 的模式字符集设置为拉丁文。存储过程为其参数继承了 MySQL 的模式字符集。

    所以我做了什么:

    1. 删除了 MySQL 过程/函数(确保备份您的代码)

    2. 更改了 MySQL 的默认字符集(使用 MySQL Workbench,右键单击您的数据库名称 - 有一个 db 图标..)

    3. 重新创建 MySQL 过程/函数

    另外,我保留了 qxxx 的修复!

    【讨论】:

      【解决方案3】:

      我在实现希腊字符时遇到了同样的问题。 mysql_query("SET NAMES 'utf8'"); mysql_query("SET CHARACTER SET 'utf8'"); 之类的解决方案对我不起作用。谷歌搜索后,我发现数据库排序规则的字符集应该是 greek_general_ci 以及存储数据的字段,如 categoryname 等。这解决了我的问题。

      【讨论】:

        【解决方案4】:

        试试这个:

        mysqli_set_charset($con, "utf8");
        

        连接到数据库之后。

        【讨论】:

        • 不错的马里奥斯。就那么简单。如果您使用的是 mysqli,这实际上是一种更改编码的不同方式。
        【解决方案5】:

        把这个留给那些通过谷歌来到这个网站的人,因为他们有同样的问题,但使用 PDO 代替(像我一样) - 你应该没问题:

        $dns = "mysqli:host=localhost;dbname=db_name";
        $pdo = new PDO($dns, 'db_user', 'db_pass',
                array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
        $pdo->exec("SET CHARACTER SET 'utf8'"); 
        

        【讨论】:

          【解决方案6】:

          尝试以下方法:

          连接到 mysql 后,执行以下查询以确保您使用的是 UTF8:

          mysql_query("SET NAMES 'utf8'");
          mysql_query("SET CHARACTER SET 'utf8'");
          

          确保您在 HTML (head) 中使用了正确的编码,尝试:

          <meta http-equiv="content-type" content="text/html; charset=UTF-8">
          

          如果这没有帮助,请尝试不同的编码,例如 ISO-8859-1

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-07-29
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-16
            • 2021-07-02
            相关资源
            最近更新 更多