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
保存退出。