【问题标题】:utf8mb4 Encoding error with phpMyAdmin and remote MySQL databaseutf8mb4 phpMyAdmin 和远程 MySQL 数据库的编码错误
【发布时间】:2014-03-15 02:09:25
【问题描述】:

我正在尝试使用 phpMyAdmin 访问远程 MySQL 数据库,因此我创建了一个 config.inc.php 文件(复制 config.sample.inc.php)并添加了一个服务器。现在,这台服务器在登录页面中显示为一个选项,但连接时我收到此错误:MySQL 说 #1115 - 未知字符集:'utf8mb4'。 有解决方法吗? 有我可以设置的配置吗? 任何帮助都非常感谢。

【问题讨论】:

标签: character-encoding


【解决方案1】:

与 phpMyAdmin 4.1.x 和 MySQL

安装phpMyAdmin 4.0.x

【讨论】:

    【解决方案2】:

    编辑以下文件:

    <install path>/libraries/DatabaseInterface.class.php
    <install path>/libraries/mysql_charsets.lib.php
    

    并将“utf8mb4”的所有实例更改为“utf8”。

    这似乎对我有用。

    【讨论】:

    • 这对我也有用。我讨厌新的 phpMyAdmin。
    【解决方案3】:

    打开

    C:\wamp\apps\phpmyadmin4.1.14\libraries\DatabaseInterface.class.php
    

    搜索'utf8mb4' 并将其替换为'utf8' 连续两行,如下所示

     $default_charset = 'utf8';
     $default_collation = 'utf8_general_ci';
    

    【讨论】:

      【解决方案4】:

      使用 firefox,如果你可以忍受的话。

      我只在一个使用 Chrome 的数据库上收到此错误。 Firefox 运行良好。 Chrome 甚至可以很好地处理 faled 数据库的主/主副本。

      上面提到的 DatabaseInterface.class.php 中的编辑解决了 Chrome 的问题。

      【讨论】:

        【解决方案5】:

        如果您已经编辑了RAHUL-BHOLAShane 的答案中提到的文件中的行:

        <install path>/libraries/DatabaseInterface.class.php
        <install path>/libraries/mysql_charsets.lib.php
        

        并且仍然收到此错误,并且您正在将数据库从一个 phpMyAdmin 安装导出到另一个 phpMyAdmin 安装,您可以通过删除 .sql 导出文件中的以下行来修复该错误:

        /*!40101 SET NAMES utf8mb4 */;
        

        【讨论】:

          【解决方案6】:

          如果您也想强制导出。您必须编辑文件:

          <install path>/libraries/plugins/export/ExportSql.class.php
          

          并注释掉以下内容(从第 740 行开始):

          if ($set_names == 'utf8' && PMA_MYSQL_INT_VERSION > 50503) {
              $set_names = 'utf8mb4';
          }
          

          这将强制 SQL 中的导出成为您想要的。但你必须首先对文件进行更改(如前所述)

          <install path>/libraries/DatabaseInterface.class.php
          <install path>/libraries/mysql_charsets.lib.php
          

          phpmyadmin 中的新强制编码令人头疼,因为并非所有虚拟主机都进行最近更新。这样的愚蠢设计!

          【讨论】:

            【解决方案7】:

            我发现更改位于以下文件中的部分代码:

            <install path>/libraries/DatabaseInterface.class.php <install path>/libraries/plugins/export/ExportSql.class.php

            来自

            PMA_MYSQL_INT_VERSION &gt; 50503

            PMA_MYSQL_INT_VERSION &gt; 55503

            成功了

            【讨论】:

            • 它对我两个有用,而且在我看来更优雅。
            【解决方案8】:

            我已经通过替换
            utf8mb4' to 'utf8'. 更新了我导出的 sql 文件
            它对我有用。这是由于mysql版本不正确造成的。

            【讨论】:

              【解决方案9】:

              导出旧数据库时的更改: 数据库系统或较旧的 MySQL 服务器,以最大限度地与 ->mysql 4

              输出兼容性

              就是这样

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-05-20
                • 2013-01-17
                • 2021-04-04
                • 2019-01-21
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多