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_collation_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)
);
我认为缓存是问题所在。所以,我记得我是在重新启动服务,而不是执行 start
和 stop
。
# 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'的主要内容,如果未能解决你的问题,请参考以下文章