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

Posted

技术标签:

【中文标题】php mysql 错误 - #1273 - #1273 - 未知排序规则:\'utf8mb4_general_ci\'【英文标题】:phpmysql error - #1273 - #1273 - Unknown collation: 'utf8mb4_general_ci'php mysql 错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci' 【发布时间】:2014-02-07 01:21:15 【问题描述】:

我刚刚安装了 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';
        

不知道这是什么,但似乎错误地设置了默认字符集和排序规则

【问题讨论】:

本地机器是否运行Windows? 我在使用 linux 时遇到了同样的问题。 我遇到了同样的问题,但仅限于 Firefox。使用 Chrome 可以正常工作。很奇怪吧? 是的,是代码导致了问题。如果我删除 if else 条件并仅保留 else 条件内的代码,则它可以正常工作。 这里是tracker中问题的链接:sourceforge.net/p/phpmyadmin/bugs/4236 【参考方案1】:

您可以通过从一开始就删除浏览器 cookie 来解决此问题。我已经尝试过了,对我来说效果很好。

仅删除 cookie:

    按住 ctrl+shift+delete 当然要删除除 cookie 之外的所有复选框 使用顶部的下拉菜单选择“从一开始” 点击清除浏览数据

【讨论】:

附言。清除一个站点的 cookie 也可以,请参阅 Google Chrome:support.google.com/chrome/answer/95647?hl=en【参考方案2】:

This solution worked for me

1) 点击数据库的“导出”标签

2) 点击“自定义”单选按钮

3) 转到标题为“特定于格式的选项”的部分,并将“数据库系统或较旧的 MySQL 服务器以最大程度地输出与以下内容的兼容性”的下拉列表从 NONE 更改为 MYSQL40。

4) 滚动到底部并点击“GO”。

如果它与 wordpress 有关,more info 说明为什么会发生。

【讨论】:

也为我工作 - 谢谢 :) 很好的解决方案。这对我帮助很大。 非常感谢您提供的有用提示。 好,任何人都知道如何在mysql工作台中做同样的事情【参考方案3】:

导出时使用设置为MYSQL40 的兼容性系统。为我工作。

【讨论】:

【参考方案4】:

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

首先编辑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';
    

收件人:

    //if (PMA_MYSQL_INT_VERSION >  50503) 
    //    $default_charset = 'utf8mb4';
    //    $default_collation = 'utf8mb4_general_ci';
    // else 
        $default_charset = 'utf8';
        $default_collation = 'utf8_general_ci';
    //

然后从您的浏览器“pma_collat​​ion_connection”中删除此 cookie。 或者删除所有 Cookie。

然后重新启动你的 phpMyAdmin。

(如果 phpMyAdmin 允许您在 config.inc.php 中设置每个服务器的字符集和排序规则,那就太好了)

【讨论】:

删除 pma_collation_connection 已经让我的错误消失了!【参考方案5】:

我昨天读到,当某人清除 cookie 时,该问题已为某人解决。我试过了,但它对我不起作用。

检查 DatabaseInterface.class.php 中的以下部分,

        define(
            'PMA_MYSQL_INT_VERSION',
            PMA_Util::cacheGet('PMA_MYSQL_INT_VERSION', true)
        );

我认为缓存是问题所在。所以,我记得我是在重新启动服务,而不是执行 startstop

# restart the service
systemd restart php-fpm

# start and stop the service
systemd stop php-fpm
systemd start php-fpm

执行stop 后跟start 解决了我的问题。

【讨论】:

记录清除 cookie 确实对我有用【参考方案6】:

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

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

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

【讨论】:

我遇到了问题,但服务器是 5.0.x。 5.1.x、5.0.x 及以下没有 utf8mb4、utf16 和 utf32 字符集。

以上是关于php mysql 错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci'的主要内容,如果未能解决你的问题,请参考以下文章

转到 phpmyadmin 第一页得到错误 #1273

MySQL错误未知排序规则

HDU 1273 漫步森林(数学 找规律)

poj 1273 Drainage Ditches (最大流入门)

POJ1273 最大流模板

[P1273]有线电视网