在这篇文章中,我们将带领您了解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'
- #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'
我刚刚安装了 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
我的本地机器上有一个 WordPress 数据库,我想将它转移到 cPanel 上的托管
phpMyAdmin。但是,当我尝试将数据库导入环境时,我不断收到此错误:
#1273 - Unknown collation: ''utf8mb4_unicode_ci''
我试过谷歌,我能找到的唯一解决方案是这个phpmysql 错误 - #1273 - #1273 - Unknown collation:
‘utf8mb4_general_ci’到目前为止没有太大帮助。我试过清除cookies,但还是不行。请帮忙!
答案1
小编典典我遇到了同样的问题,因为我们所有的服务器都运行旧版本的 MySQL。这可以通过运行 PHP
脚本来解决。将此代码保存到文件并运行它,输入数据库名称、用户和密码,它将排序规则从更改utf8mb4/utf8mb4_unicode_ci
为utf8/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”
我的本地 WAMP 服务器上有一个 WordPress 网站。但是当我将其数据库上传到实时服务器时,我得到了错误
#1273 - Unknown collation: 'utf8mb4_unicode_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。
具体可参考这篇博客,讲的非常详细:

作者:知乎用户 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_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_...等相关知识,可以在本站进行查询。
本文标签: