emma中文显示乱码问题解决(ubutnu)

vim ~/.emma/emmarc

找到  db_encoding=latin1 改为  db_encoding=utf8  然后重新运行emma,此时发现还是乱码,不要着急,在执行所有的sql语句之前加入这条sql语句:

set names utf8

按ctrl+enter执行之后,再看看是不是已经ok了。正常显示中文了。(这里还有一个前提是你的数据库数据都是utf8编码)

好了,但是每次新用户都要改配置文件,以及执行新sql前都加这个语句,岂不是很费力,直接修改emma的python源文件:

vim /usr/share/emma/emmalib/mysql_host.py

跳到155行左右的_use_db(self, name, do_query=True)函数那里:

155                 def _use_db(self, name, do_query=True):
156                 if self.current_db and name == self.current_db.name: return
157                 if do_query: self.query("use `%s`" % name, False)
158                 if do_query: self.query("set names utf8",False)              #添加一行
159                 try:
160                         self.current_db = self.databases[name]
161                 except KeyError:
162                         print "Warning: used an unknown database %r! please refresh host! %s" % (name, "".join(traceback.format_stack()))
163 
保存退出。
原文地址:https://www.cnblogs.com/chenjianhong/p/4144625.html