将J2EE开发平台迁移到MAC上的日志及心得(三)-MySQL相关

今儿说说MySQL。

安装部分这里就略过了,网上有许多,我并没有安装startup item,所以开机MySQL不会自启动,需要用mysqld_safe来启动,这里主要说说中文字符集的事情。

mysql装好后,发现中文字符是乱码,首先想到的是客户端字符集的问题,确认是UTF-8,又想到是服务器端字符集,连接mysql后(mysql -u root -p)

将J2EE开发平台迁移到MAC上的日志及心得(三)-MySQL相关_第1张图片

上图是我修改过之后的截屏,默认安装应该是Ascii(在windows上安装时,有单独的字符集选择环节,所以一般不会有这个问题),需要通过set命令修改,通常需要将character_set_database和character_set_server改为utf8。

心想这次没问题了,使用客户端工具连接后,读写中文都没问题,但使用web application写入中文仍是乱码,这就有些搞不懂了。仔细想想,客户端IO没问题,而appliaction出问题,那一定是出在jdbc驱动上,然后试着在jdbc driver的url上,加入characterEncoding=utf8的参数,果然好了。

这其实是我编码的一个不好的习惯,不论什么样的运行环境,在jdbc driver的url上加入字符集的显式约定参数都是好习惯,我猜想:应为我们使用的中文版windows操作系统本身的字体集就是中文的,所以jdbc驱动不约定也会是默认中文,而mac os可能不是这样,即便是中文版的操作系统,其连接字符集也不是中文的,所以会有此类问题。

希望对你有用。

你可能感兴趣的:(mysql,mac,中文)