phpmysql错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci'

Tre*_*ood 25 php mysql collation phpmyadmin

我刚刚安装了PhpMyAdmin v4.1.5英文版

我已将其设置为访问2台服务器 - 我的PC上的本地服务器和服务器上的远程服务器

一切都适合我的本地PC,但当我登录到我的远程服务器时,我收到了消息

错误

MySQL说:

#1273 - 未知校对:'utf8mb4_general_ci'

搜索PhpMyAdmin代码会在DatabaseInterface.class.php中找到对此的一个引用

        if (PMA_MYSQL_INT_VERSION >  50503) {
            $default_charset = 'utf8mb4';
            $default_collation = 'utf8mb4_general_ci';
        } else {
            $default_charset = 'utf8';
            $default_collation = 'utf8_general_ci';
        }
Run Code Online (Sandbox Code Playgroud)

不知道这是什么,但它似乎错误地设置了默认的charset&collat​​ion

sha*_*ruz 64

这个解决方案对我有用

1)单击数据库的"导出"选项卡

2)单击"自定义"单选按钮

3)转到标题为"特定于格式的选项"的部分,并更改"数据库系统或较旧的MySQL服务器的下拉列表以最大化输出兼容性:"从NONE到MYSQL40.

4)滚动到底部,然后单击"开始".

如果它与wordpress相关,则更多关于它为何发生的信息.


小智 27

您可以通过从开头时间删除浏览器cookie来解决此问题.我试过这个,它对我来说很好.

仅删除cookie:

  1. 按住ctrl + shift + delete
  2. 删除除Cookie以外的所有复选框
  3. 使用顶部的下拉菜单选择"从一开始就开始
  4. 点击清除浏览数据


gge*_*dde 10

有两个步骤可以解决这个问题.

首先编辑phpMyAdmin/libraries/DatabaseInterface.class.php

更改:

    if (PMA_MYSQL_INT_VERSION >  50503) {
        $default_charset = 'utf8mb4';
        $default_collation = 'utf8mb4_general_ci';
    } else {
        $default_charset = 'utf8';
        $default_collation = 'utf8_general_ci';
    }
Run Code Online (Sandbox Code Playgroud)

至:

    //if (PMA_MYSQL_INT_VERSION >  50503) {
    //    $default_charset = 'utf8mb4';
    //    $default_collation = 'utf8mb4_general_ci';
    //} else {
        $default_charset = 'utf8';
        $default_collation = 'utf8_general_ci';
    //}
Run Code Online (Sandbox Code Playgroud)

然后从浏览器"pma_collat​​ion_connection"中删除此cookie.
或删除所有Cookie.

然后重新启动phpMyAdmin.

(如果phpMyAdmin允许你在config.inc.php中设置每个服务器的字符集和排序规则,这将是很好的)

  • 删除`pma_collat​​ion_connection`已经让错误消失了! (3认同)

Tan*_*Tat 0

您的 MySQL 服务器版本是 5.5.3 或更高版本吗?

MySQL 5.5.3 中添加了 utf8mb4、utf16 和 utf32 字符集。

http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-sets.html