昨天和今天写程序都碰到乱码,我觉得把所有的编码都统一了,但还是乱码,所以就在网上猛看了几篇关于乱码的文章。对于乱码的解决方法。
为了以后国际化或者编码统一,就把所有的编码设置为UTF-8.
eclipse能设置编码的地方有:
1、项目范围的设置编码格式
Project->Properties->General->Resource->Other->UTF-8->OK
2.改变整个工作空间的编码格式,这样以后新建的文件也是新设置的编码格式。
eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK
3.某类型文件的编码格式
eclipse->window->preferences->General->Content Types->右边找到要修改的文件的类型(JAVA,JSP等等)->在下面的Default encoding,输入框中输入UTF-8->Update->OK
4、单个文件设置编码格式
在包资源管理器右键点击文件->properties,改变文本文件编码格式为UTF-8
mysql设置编码的方式:网上说了一大通,根据本人亲测最好用:
mysql安装路径--->bin---->MySQLInstanceConfig.exe 然后再设置编码的时候选择第三个选项,编码改为utf8
经过以上设置后用这条命令查看mysql编码:show variables like 'character%';
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
完成了以上不做按理说不应该再乱码了。
可是我用sqlyon查看时,数据正常,但用命令窗口时乱码。我彻底无语了,经过在网上苦苦查找发现,原来cmd是和操作系统编码绑定,而我用的是日语操作系统。所以悲剧了。
当你改完mysql后再向其中插入数据时候你发现依然乱码,你重新建一张表。再插入数据就可以了。(因为表的编码还是之前的)