phpmyadmin编码整理下拉菜单编码选项过多的解决办法

MySQL | 2010-04-06 14:15:22 | 阅读 1609 次 | 评论(1)
用phpmyadmin管理mysql数据库很方便,但是选择“整理”的时候那个下拉菜单感觉太长了,几乎涵盖了全球所有语言的编码,而我们常用的无非就gbk、gb2312、utf8,那么长的下拉菜单每次我选择gbk的时候都很麻烦。网上搜了一下好像phpmyadmin没有设置这个下拉菜单的选项。看了一下phpmyadmin的源代码好像这些编码选项是从MYSQL数据库里面取读出来的,不作深究,用最简单的办法来解决。
 
打开phpmyadmin里面libraries文件下下的mysql_charsets.lib.php
 

找到大约111行的

foreach ($mysql_charsets as $current_charset) {

在它上面添加一行

$mysql_charsets = array('gbk','gb2312','utf8','utf8mb4');


找到大约124行的

foreach ($mysql_collations[$current_charset] as $current_collation) {

在它上面添加2行

$mysql_collations['utf8'] = array('utf8_bin','utf8_unicode_ci');
$mysql_collations['utf8mb4'] = array('utf8mb4_bin','utf8mb4_unicode_ci');


然后再刷新phpmyadmin就可以发现整理的下拉菜单变短了,选择你需要的编码的时候非常方便

QQ20190531-0@2x.png (上传于2019-05-31 16:30:52)
QQ20190531-0@2x.png

-------------------------------- 作者在 2019-05-31 17:12:33 补充以下内容 --------------------------------

如果是新版本的phpmyadmin,比如phpMyAdmin4.8.5,搜不到mysql_charsets.lib.php文件,没关系,按下面的方法改:


打开libraries/classes/Charsets.php

找到大约80行左右的这段代码:

        self::$_charsets = array();
        while ($row = $dbi->fetchAssoc($res)) {
            $name = $row['Charset'];
            self::$_charsets[] = $name;
            self::$_charsets_descriptions[$name] = $row['Description'];
        }

(如果不好找就搜“self::$_charsets_descriptions[$name] = $row['Description'];”)

在下面加入一行:

self::$_charsets = ['gbk','gb2312','utf8','utf8mb4'];


找到大约285行的这行代码:

foreach (self::$_collations[$current_charset] as $current_collation) {
在上面加入2行:

	        self::$_collations['utf8'] = array('utf8_bin','utf8_unicode_ci');
	        self::$_collations['utf8mb4'] = array('utf8mb4_bin','utf8mb4_unicode_ci');

文章评论,共1条
Avatar
1楼: 静夜思 发表于 2019-05-31 17:13   回复
9年了,当年解决这个问题的思路记忆犹新😊
游客请输入验证码
浏览1853504次
文章归档
最新评论
  • 静夜思:9年了,当年解决这个问题的思路记忆犹新😊
  • FQYB:汇编是纯文字的吧~