如何设置mysql数据库为utf-8编码?怎样在Shell中把utf8编码转成中文显示?
如何设置mysql数据库为utf-8编码?
检查当前数据库编码。 使用语句: show variables like ‘%character%’; show variables like’%collation%’; 如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下: 如果安装mysql时安装了“MySql Sever Instance Configuration Wizard”,则只需要启动该程序进行相应设置即可。如下面截图中所描述,需要将默认编码设置为utf8 如果没有该程序,需要手动修改mysql编码。
1、 编辑MySql的配置文件 MySql的配置文件Windows下一般在系统目录下或者在MySql的安装目录下名字叫my.ini,可以搜索,Linux下一般是 /etc/my.cnf --在 [mysqld] 标签下加上以下内容: default-character-set = utf8 character_set_server = utf8 注意:如果此标签下已经存在“default-character-set=GBK”类似的内容,只需修改即可。 --在 [mysql] 标签下加上一行 default-character-set = utf8 --在 [mysql.server]标签下加上一行 default-character-set = utf8 --在 [mysqld_safe]标签下加上一行 default-character-set = utf8 --在 [client]标签下加上一行 default-character-set = utf8
找到默认MySQL的安装位置D:Program FilesMySQLMySQL Server 5.5(我的系统是装在D盘)中的my.ini文件,双击打开,修改:原来的latin改成utf8,然后保存。如果出现保存不了的话,可以先把这个文件剪切到桌面上然后修改,这样就可以保存了。最后后再粘贴到原来存放的位置。
怎样在Shell中把utf8编码转成中文显示?
目前shell不支持unicode转义的字符串,bash4.2 alpha支持可行的办法就是做字符替换,给个Python的demo,面向行处理#!/usr/bin/env python# -*- coding: utf-8 -*-import reimport sys def main():for line in sys.stdin: sys.stdout.write(re.sub(r'\\u\w{4}', lambda e: unichr(int(e.group(0)[2:], 16)).encode('utf-8'), line)
)if __name__ == '__main__': main()复制代码用法:脚本保存为test.py,执行sumomos-MacBook-Pro:py lgr$ echo '\u9ED8\u8BA4' | python ./test.py 默认
Gb2312编码转换到Utf-8编码?
爬虫的话,爬到GB2312网页的话,得到的字节流已经是GB2312编码了。直接new String(bytes,"GB2312)即可了。输出时,通过stream对象指定UTF-8编码输出就行了。