GVKun编程网logo

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

22

在这篇文章中,我们将带领您了解phpmysql错误-#1273-#1273-未知排序规则:'utf8mb4_general_ci'的全貌,同时,我们还将为您介绍有关#1273-未知排序规则:'utf8

在这篇文章中,我们将带领您了解phpmysql 错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci'的全貌,同时,我们还将为您介绍有关#1273 - 未知排序规则:'utf8mb4_unicode_ci' cPanel、#1273——未知排序规则:“榰tf8mb4_unicode_520_ci”、8.0 的排序规则 utf8mb4_0900_ai_ci 和 utf8mb4_general_ci 有何区别?、java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_...的知识,以帮助您更好地理解这个主题。

本文目录一览:

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

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

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

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

答案1

小编典典

\1) 单击数据库的“导出”选项卡

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

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

\4) 滚动到底部并单击“开始”。

#1273 - 未知排序规则:'utf8mb4_unicode_ci' cPanel

#1273 - 未知排序规则:'utf8mb4_unicode_ci' cPanel

我的本地机器上有一个 WordPress 数据库,我想将它转移到 cPanel 上的托管
phpMyAdmin。但是,当我尝试将数据库导入环境时,我不断收到此错误:

#1273 - Unknown collation: ''utf8mb4_unicode_ci''

我试过谷歌,我能找到的唯一解决方案是这个phpmysql 错误 - #1273 - #1273 - Unknown collat​​ion:
‘utf8mb4_general_ci’到目前为止没有太大帮助。我试过清除cookies,但还是不行。请帮忙!

答案1

小编典典

我遇到了同样的问题,因为我们所有的服务器都运行旧版本的 MySQL。这可以通过运行 PHP
脚本来解决。将此代码保存到文件并运行它,输入数据库名称、用户和密码,它将排序规则从更改utf8mb4/utf8mb4_unicode_ciutf8/utf8_general_ci

<!DOCTYPE html><html><head>  <title>DB-Convert</title>  <style>    body { font-family:"Courier New", Courier, monospace; }  </style></head><body><h1>Convert your Database to utf8_general_ci!</h1><form action="db-convert.php" method="post">  dbname: <input type="text" name="dbname"><br>  dbuser: <input type="text" name="dbuser"><br>  dbpass: <input type="text" name="dbpassword"><br>  <input type="submit"></form></body></html><?phpif ($_POST) {  $dbname = $_POST[''dbname''];  $dbuser = $_POST[''dbuser''];  $dbpassword = $_POST[''dbpassword''];  $con = mysql_connect(''localhost'',$dbuser,$dbpassword);  if(!$con) { echo "Cannot connect to the database ";die();}  mysql_select_db($dbname);  $result=mysql_query(''show tables'');  while($tables = mysql_fetch_array($result)) {          foreach ($tables as $key => $value) {           mysql_query("ALTER TABLE $value CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");     }}  echo "<script>alert(''The collation of your database has been successfully changed!'');</script>";}?>

#1273——未知排序规则:“榰tf8mb4_unicode_520_ci”

#1273——未知排序规则:“榰tf8mb4_unicode_520_ci”

我的本地 WAMP 服务器上有一个 WordPress 网站。但是当我将其数据库上传到实时服务器时,我得到了错误

#1273 - Unknown collation: 'utf8mb4_unicode_ci'

任何帮助,将不胜感激!

8.0 的排序规则 utf8mb4_0900_ai_ci 和 utf8mb4_general_ci 有何区别?

8.0 的排序规则 utf8mb4_0900_ai_ci 和 utf8mb4_general_ci 有何区别?

utf8mb4_0900_ai_ci 和 utf8mb4_general_ci 都是 MySQL 针对 utf8mb4 编码的排序规则。

对于 utf8mb4_0900_ai_ci 来说,0900 代表 Unicode 9.0 的规范,ai 表示 accent insensitivity,也就是 “不区分音调”,而 ci 表示 case insensitivity,也就是 “不区分大小写”。

MySQL 8.0 之后,默认 collation 不再像之前版本一样是是 utf8mb4_general_ci,而是统一更新成了 utf8mb4_0900_ai_ci。

具体可参考这篇博客,讲的非常详细:

mysql 设置了 utf8mb4,为什么还有 utf8mb4_general_ci 和 utf8mb4_0900_ai_ci? - SeasonHur - 博客园www.cnblogs.com/seasonhu/p/14994857.html


作者:知乎用户 BgiUTI
链接:https://www.zhihu.com/question/521889059/answer/2388973078
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_...

java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_...

查询视图时报错:java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_ai_ci,IMPLICIT) for operation ''='';

本地环境:mysql8.0.13

异常提示排序规则编码混乱,mysql8.0.1 之后的默认 COLLATE 为 utf8mb4_0900_ai_ci;

检查视图中所包含的表发现其中一个建表时 没有设置编码,并且其他的表设置的是 CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;因此导致混乱;

查看当前数据库的默认编码:

mysql> show variables where Variable_name like ''collation%'';

查看各表编码:

mysql> show create table ‘table_name’;

 

解决方案给没有设置编码的表重新设置一下:

mysql> alter table table_name default character set utf8mb4 collate=utf8mb4_general_ci;

这样设置只针对表的,但是表中字段未修改:

mysql> ALTER TABLE table_name convert to CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;

 

 

修改完成以后,重新创建视图!!!!

 

参考编码修改

 

今天关于phpmysql 错误 - #1273 - #1273 - 未知排序规则:'utf8mb4_general_ci'的分享就到这里,希望大家有所收获,若想了解更多关于#1273 - 未知排序规则:'utf8mb4_unicode_ci' cPanel、#1273——未知排序规则:“榰tf8mb4_unicode_520_ci”、8.0 的排序规则 utf8mb4_0900_ai_ci 和 utf8mb4_general_ci 有何区别?、java.sql.SQLException: Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8mb4_0900_...等相关知识,可以在本站进行查询。

本文标签: