新微赢技术网
标题:
设置phpMyAdmin的网页编码
[打印本页]
作者:
幻影
时间:
2009-11-24 00:35
标题:
设置phpMyAdmin的网页编码
显示程序
连接
数据库中的内容
在libraries/select_lang.lib.php中的数组$available_languages中列出了所有可用的语言,并指定这些语言的显示名称,所对应的语言包文件(在lang目录下)。
在进入phpMyAdmin首页时,在右边有个名为Language的下拉列表框,这里可以设置phpMyAdmin界面的显示语言。但是这样我们选择了简体中文,网页的编码仍是:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
细心的人会发现这里并没有列出上段数组中所有的语言,而所列出的语言都是以utf-8编码的,对应上段数组中的key以utf-8结尾的那些。所以esayr文中的方法便是利用了这一点,将上述数组中的'zh-gb2312'改名为'zh-gb2312-utf-8',用了这样一个小技巧后,这个gb2312编码的简体中文便出现在下拉列表框里,用来选择使用了。
但我试了,应该要这样,才是规范的做法:
如果设置了具体语言:
$cfg['Lang'] = 'zh-gb2312';
这个列表框便不会出现,phpMyAdmin的网页也就直接地使用这个语言,网页的编码同时也指定了。
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
小提示:在phpMyAdmin的顶级目录里建了一个config.inc.php文件,在里面放这个$cfg['Lang']设置,看文档好象是,除了在config.inc.php有设置的之外,默认使用libraries/config.default.php中的配置。
在这个config.inc.php文件中不要放中文,因为我们建的文件一般是ASC编码的,而网页要使用其他的编码,如utf-8,还没有指定。这样,有可能导致错误,本人便是因为在其中使用了中文注释,结果导致设置无效的。
原来我们将中文内容存取数据库时,都未指定字符集的。那么,它们便是使用mysql默认的字符集latin1。现在我们用phpMyAdmin浏览一个原来的表,竞是乱码。在phpMyAdmin时执行SQL:
SHOW VARIABLES LIKE "char%";
结果为:
Variable_name Value
character_set_client gb2312
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results gb2312
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
可见,phpMyAdmin使用gb2312作为存取的字符集。为了与原来的latin1存取的保持一致,按esayr指点的方法:修改libraries/select_lang.lib.php中的数组$mysql_charset_map,指定:
'gb2312' => 'latin1',
这样,我们就可以仍以latin1字符集方式存取原latin1字符集的数据了。
Variable_name Value
character_set_client latin1
character_set_connection latin1
character_set_database latin1
character_set_filesystem binary
character_set_results latin1
character_set_server latin1
character_set_system utf8
character_sets_dir /usr/share/mysql/charsets/
>
作者:
dgyys
时间:
2009-12-4 01:05
你以为最酸的感觉是吃醋吗?不是,最酸的感觉是没权吃醋。
作者:
老肥
时间:
2010-2-18 19:05
高山仰止,莫测高深。。。。
欢迎光临 新微赢技术网 (http://bbs.weiying.cn/)
Powered by Discuz! X3.2