解决Emma中文乱码

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chouzhou9701/article/details/84642436

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)函数那里:

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)  
    if do_query: 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()))  

猜你喜欢

转载自blog.csdn.net/chouzhou9701/article/details/84642436