当前位置:首页 > PHP教程 > php应用 > 列表

PhpMyAdmin让学中用的字符集隐藏

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-22 16:00:58 浏览: 评论:0 

在使用PHPMYAdmin的时候,常用的字符集一般有GBK,GB2312或UTF8 可以在修改或添加字符编码的时候,那字符集也太多了,如何才能只显示我们常用的字符集,让那些不常用的隐藏,或去掉那些不常用的字符集,让修改字段看起来更清爽,现提供一种解决方法.

首先说明一下我使用的PHPMyAdmin版本 3.5.2.2

找到:\libraries\mysql_charsets.lib.php 

找到:function PMA_generateCharsetDropdownBox()   函数

在:foreach ($mysql_charsets as $current_charset) {  循环后加一句:

  1. if(!in_array($current_charset,array('gb2312','gbk','utf8'))){   
  2.             continue;   
  3.         } 

找到:foreach ($mysql_collations[$current_charset] as $current_collation) { 循环,在其后加一句:

  1. if(!in_array($current_collation,array('gb2312_bin','gb2312_chinese_ci','gbk_bin','gbk_chinese_ci','utf8_general_ci')))   
  2.                 {   
  3.                     continue;   
  4.                 }   

现贴出PMA_generateCharsetDropdownBox 的完整函数:

  1. function PMA_generateCharsetDropdownBox($type = PMA_CSDROPDOWN_COLLATION,   
  2.     $name = null, $id = null, $default = null, $label = true, $indent = 0,   
  3.     $submitOnChange = false, $displayUnavailable = false)   
  4. {   
  5.     global $mysql_charsets$mysql_charsets_descriptions,   
  6.         $mysql_charsets_available$mysql_collations$mysql_collations_available;   
  7.    
  8.     if (emptyempty($name)) {   
  9.         if ($type == PMA_CSDROPDOWN_COLLATION) {   
  10.             $name = 'collation';   
  11.         } else {   
  12.             $name = 'character_set';   
  13.         }   
  14.     }   
  15.    
  16.     $return_str  = '<select xml:lang="en" dir="ltr" name="'   
  17.         . htmlspecialchars($name) . '"'   
  18.         . (emptyempty($id) ? '' : ' id="' . htmlspecialchars($id) . '"')   
  19.         . ($submitOnChange ? ' class="autosubmit"' : '') . '>' . "\n";   
  20.     if ($label) {   
  21.         $return_str .= '<option value="">'   
  22.             . ($type == PMA_CSDROPDOWN_COLLATION ? __('Collation') : __('Charset'))   
  23.             . '</option>' . "\n";   
  24.     }   
  25.     $return_str .= '<option value=""></option>' . "\n";   
  26.     foreach ($mysql_charsets as $current_charset) {   
  27.         if(!in_array($current_charset,array('gb2312','gbk','utf8'))){   
  28.             continue;   
  29.         }   
  30.         if (!$mysql_charsets_available[$current_charset]) {   
  31.             continue;   //phpfensi.com 
  32.         }   
  33.         $current_cs_descr   
  34.             = emptyempty($mysql_charsets_descriptions[$current_charset])   
  35.             ? $current_charset   
  36.             : $mysql_charsets_descriptions[$current_charset];   
  37.    
  38.         if ($type == PMA_CSDROPDOWN_COLLATION) {   
  39.             $return_str .= '<optgroup label="' . $current_charset   
  40.                 . '" title="' . $current_cs_descr . '">' . "\n";   
  41.             foreach ($mysql_collations[$current_charsetas $current_collation) {   
  42.                 if(!in_array($current_collation,array('gb2312_bin','gb2312_chinese_ci','gbk_bin','gbk_chinese_ci','utf8_general_ci')))   
  43.                 {   
  44.                     continue;   
  45.                 }   
  46.                 if (!$mysql_collations_available[$current_collation]) {   
  47.                     continue;   
  48.                 }   
  49.                 $return_str .= '<option value="' . $current_collation   
  50.                     . '" title="' . PMA_getCollationDescr($current_collation) . '"'   
  51.                     . ($default == $current_collation ? ' selected="selected"' : '') . '>'   
  52.                     . $current_collation . '</option>' . "\n";   
  53.             }   
  54.             $return_str .= '</optgroup>' . "\n";   
  55.         } else {   
  56.             $return_str .= '<option value="' . $current_charset   
  57.                 . '" title="' . $current_cs_descr . '"'   
  58.                 . ($default == $current_charset ? ' selected="selected"' : '') . '>'   
  59.                 . $current_charset . '</option>' . "\n";   
  60.         }   
  61.     }   
  62.     $return_str .= '</select>' . "\n";   
  63.    
  64.     return $return_str;   
  65. }   

再上一张改后的效果图:

其它版本的PHPMyadmin可以参考该方法,此方法没有修改数据库的字符集,只是让不需要的字符集不显示仅此而已.

PHPMYADMIN 去掉不需要的字符集 PHPMYADMIN 隐藏不需要的字符集,不想要的字符集.

Tags: PhpMyAdmin字符集 字符集隐藏

分享到: