在使用PHPMYAdmin的时候,常用的字符集一般有GBK,GB2312或UTF8 可以在修改或添加字符编码的时候,那字符集也太多了,如何才能只显示我们常用的字符集,让那些不常用的隐藏,或去掉那些不常用的字符集,让修改字段看起来更清爽,现提供一种解决方法.
首先说明一下我使用的PHPMyAdmin版本 3.5.2.2
找到:\libraries\mysql_charsets.lib.php
找到:function PMA_generateCharsetDropdownBox() 函数
在:foreach ($mysql_charsets as $current_charset) { 循环后加一句:
-
if(!in_array($current_charset,array('gb2312','gbk','utf8'))){
-
continue;
-
}
找到:foreach ($mysql_collations[$current_charset] as $current_collation) { 循环,在其后加一句:
-
if(!in_array($current_collation,array('gb2312_bin','gb2312_chinese_ci','gbk_bin','gbk_chinese_ci','utf8_general_ci')))
-
{
-
continue;
-
}
现贴出PMA_generateCharsetDropdownBox 的完整函数:
-
function PMA_generateCharsetDropdownBox($type = PMA_CSDROPDOWN_COLLATION,
-
$name = null, $id = null, $default = null, $label = true, $indent = 0,
-
$submitOnChange = false, $displayUnavailable = false)
-
{
-
global $mysql_charsets, $mysql_charsets_descriptions,
-
$mysql_charsets_available, $mysql_collations, $mysql_collations_available;
-
-
if (emptyempty($name)) {
-
if ($type == PMA_CSDROPDOWN_COLLATION) {
-
$name = 'collation';
-
} else {
-
$name = 'character_set';
-
}
-
}
-
-
$return_str = '<select xml:lang="en" dir="ltr" name="'
-
. htmlspecialchars($name) . '"'
-
. (emptyempty($id) ? '' : ' id="' . htmlspecialchars($id) . '"')
-
. ($submitOnChange ? ' class="autosubmit"' : '') . '>' . "\n";
-
if ($label) {
-
$return_str .= '<option value="">'
-
. ($type == PMA_CSDROPDOWN_COLLATION ? __('Collation') : __('Charset'))
-
. '</option>' . "\n";
-
}
-
$return_str .= '<option value=""></option>' . "\n";
-
foreach ($mysql_charsets as $current_charset) {
-
if(!in_array($current_charset,array('gb2312','gbk','utf8'))){
-
continue;
-
}
-
if (!$mysql_charsets_available[$current_charset]) {
-
continue;
-
}
-
$current_cs_descr
-
= emptyempty($mysql_charsets_descriptions[$current_charset])
-
? $current_charset
-
: $mysql_charsets_descriptions[$current_charset];
-
-
if ($type == PMA_CSDROPDOWN_COLLATION) {
-
$return_str .= '<optgroup label="' . $current_charset
-
. '" title="' . $current_cs_descr . '">' . "\n";
-
foreach ($mysql_collations[$current_charset] as $current_collation) {
-
if(!in_array($current_collation,array('gb2312_bin','gb2312_chinese_ci','gbk_bin','gbk_chinese_ci','utf8_general_ci')))
-
{
-
continue;
-
}
-
if (!$mysql_collations_available[$current_collation]) {
-
continue;
-
}
-
$return_str .= '<option value="' . $current_collation
-
. '" title="' . PMA_getCollationDescr($current_collation) . '"'
-
. ($default == $current_collation ? ' selected="selected"' : '') . '>'
-
. $current_collation . '</option>' . "\n";
-
}
-
$return_str .= '</optgroup>' . "\n";
-
} else {
-
$return_str .= '<option value="' . $current_charset
-
. '" title="' . $current_cs_descr . '"'
-
. ($default == $current_charset ? ' selected="selected"' : '') . '>'
-
. $current_charset . '</option>' . "\n";
-
}
-
}
-
$return_str .= '</select>' . "\n";
-
-
return $return_str;
-
}
再上一张改后的效果图:
其它版本的PHPMyadmin可以参考该方法,此方法没有修改数据库的字符集,只是让不需要的字符集不显示仅此而已.
PHPMYADMIN 去掉不需要的字符集 PHPMYADMIN 隐藏不需要的字符集,不想要的字符集.
(责任编辑:最模板) |