Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Character encoding phpMyAdmin和远程MySQL数据库的utf8mb4编码错误_Character Encoding - Fatal编程技术网

Character encoding phpMyAdmin和远程MySQL数据库的utf8mb4编码错误

Character encoding phpMyAdmin和远程MySQL数据库的utf8mb4编码错误,character-encoding,Character Encoding,我试图使用phpMyAdmin访问远程MySQL数据库,因此我创建了一个config.inc.php文件(复制config.sample.inc.php)并添加了一个服务器。现在,另一个服务器作为一个选项出现在登录页面中,但当连接时,我收到一个错误:MySQL说#1115-未知字符集:“utf8mb4”。 有解决办法吗? 有我可以设置的配置吗? 非常感谢您的帮助。与phpMyAdmin 4.1.x和MySQL不兼容,请编辑以下文件: <install path>/libraries/

我试图使用phpMyAdmin访问远程MySQL数据库,因此我创建了一个config.inc.php文件(复制config.sample.inc.php)并添加了一个服务器。现在,另一个服务器作为一个选项出现在登录页面中,但当连接时,我收到一个错误:MySQL说#1115-未知字符集:“utf8mb4”。 有解决办法吗? 有我可以设置的配置吗?
非常感谢您的帮助。

与phpMyAdmin 4.1.x和MySQL不兼容,请编辑以下文件:

<install path>/libraries/DatabaseInterface.class.php
<install path>/libraries/mysql_charsets.lib.php
/libraries/DatabaseInterface.class.php
/libraries/mysql_charsets.lib.php
并将“utf8mb4”的所有实例更改为“utf8”

它似乎对我有用。

打开

C:\wamp\apps\phpmyadmin4.1.14\libraries\DatabaseInterface.class.php
搜索
'utf8mb4'
,并将其替换为
'utf8'
,如下图所示

 $default_charset = 'utf8';
 $default_collation = 'utf8_general_ci';

如果你能接受的话,可以使用firefox

我只在一个Chrome数据库上发现了这个错误。Firefox运行良好。Chrome甚至在faled数据库的master/master replika上运行良好


上面提到的在DatabaseInterface.class.php中编辑解决了Chrome的问题。

如果您已经编辑了和的答案中提到的文件中的行:

<install path>/libraries/DatabaseInterface.class.php
<install path>/libraries/mysql_charsets.lib.php

如果您还想强制导出。您必须编辑文件:

<install path>/libraries/plugins/export/ExportSql.class.php
这将强制SQL中的导出成为您想要的。但您必须首先在文件中进行更改(如前所述)

/libraries/DatabaseInterface.class.php
/libraries/mysql_charsets.lib.php

phpmyadmin中新的强制编码是ass中的一个难题,因为并非所有的web主机都做最近的更新。如此愚蠢的设计

我发现更改位于以下文件中的部分代码:


/库/DatabaseInterface.class.php
/库/plugins/export/ExportSql.class.php

PMA\u MYSQL\u INT\u版本>50503

PMA\u MYSQL\u INT\u版本>55503


这个技巧是否更新了我导出的sql文件,将utf8mb4替换为“utf8”。

这对我有用。这是由于mysql版本不正确造成的。

导出旧数据库时发生更改: 数据库系统或较旧的MySQL服务器,最大限度地提高与->MySQL 4的输出兼容性


就是这样

这本书的复制品对我也很有用。我讨厌新的phpMyAdmin。它对我两个人都有用,而且在我看来更优雅。
<install path>/libraries/plugins/export/ExportSql.class.php
if ($set_names == 'utf8' && PMA_MYSQL_INT_VERSION > 50503) {
    $set_names = 'utf8mb4';
}
<install path>/libraries/DatabaseInterface.class.php
<install path>/libraries/mysql_charsets.lib.php