视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
mysql图形客户端Emma简析_MySQL
2020-11-09 18:17:41 责编:小采
文档


bitsCN.com 在Linux如果使用mysql的图形客户端,我感觉Emma算一个好用的了。比起mysql自己的Mysql Query Browser 要好, 而且最不能忍受的是Mysql Query Browser 在Ubuntu 11.10 会有程序崩溃现象。相比而言emma是挺好,但是emma默认用apt-get 安装的话,emma是不支持中文的,这个需要自己修改一下了配置文件,或者直接修改emma程序源文件了(emma 用python编写的)。 apt-get安装emmasudo apt-get install emma 如果你已经安装完毕并且运行过emma,程序就会创建 ~/.emma/emmarc文件,保存你自己的一些配置。所以可以更改这里的配置文件,或者像下面直接修改emma的python源文件。vim ~/.emma/emmarc 找到 db_encoding=latin1 改为db_encoding=utf8 然后里,重新运行emma,此时发现还是乱码,不要着急,在执行所有的sql语句之前加入这条sql语句,set names utf8 按ctrl+enter执行之后,再看看是不是已经ok了。正常显示中文了。(这里还有一个前提是你的数据库都是utf8编码的哟)好了,但是每次新用户都要改配置文件,以及执行新sql前都加这个语句,岂不是很费力。而自己有很懒,并且我的数据库大部分都是utf8的,所以直 接修改emma的源文件,来实现,新创建的emmrc配置文件就是utf8,和当选择数据库时,自动的执行“set names utf8” 语句。
Ubuntu的apt-get 安装emma是在/usr/share/emma目录下面。cd /usr/share/emma/emmalib sudo vim __init__.py 找到"db_encoding": "latin1" 改为"db_encoding": "utf8" 保存退出。以后新创建的配置文件默认就会是utf8的解码了,我想在连接数据之后就执行 ??“set names utf8” 语句,所以 sudo vim /usr/share/emma/emmalib/mysql_host.py 跳到155行左右的_use_db(self, name, do_query=True)函数哪里,改成如下def _use_db(self, name, do_query=True): if self.current_db and name == self.current_db.name: return if do_query: self.query("use `%s`" % name, False) self.query("set names utf8", False) try: self.current_db = self.databases[name] except KeyError: print "Warning: used an unknown database %r! please refresh host!/n%s" % (name, "".join(traceback.format_stack()))
自己看着改,反正改成上面的样子,注意空格,因为python是以空格当语句的分割语法的。其实就是加了一句self.query("set names utf8", False) 到这里就彻底ok了。 作者 piaoliuxiong bitsCN.com

下载本文
显示全文
专题