windows平台java代码上传到linux中文乱码解决

13 篇文章 0 订阅

一、项目问题

        1.windows下java工程编码方式为UTF-8。

        2.我用的linux虚拟主机系统的默认编码好像不是utf-8系统,修改/etc/sysconfig/i18n 为:

LANG="en_US.UTF8"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"

        3.代码编译时中文不识别,我用的ant编译,在ant中配置编译方式

<javac srcdir="${src.home}" destdir="${class.home}" debug="true"<strong> encoding="UTF-8"</strong> debuglevel="source,lines,vars">
        	<classpath refid="project.class.path"/>
</javac>

二、修改mysql的编码方式

这是最后的配置结果:

mysql> show variables like 'char%';
+--------------------------+----------------------------+
| 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/ |
+--------------------------+----------------------------+

修改过程:

1.将/usr/share/mysql目录下的my-large.cnf,或者某个配置文件拷贝到/etc/my.cnf

2.修改my.cnf文件

[client]

default-character-set=utf8

[mysqld]

log_error = /var/log/mysql/error.log 
init_connect='SET NAMES utf8'
character_set_server = utf8
collation-server = utf8_unicode_ci

3.重启mysql

service mysql restart

4.打开mysql命令行终端

SETcharacter_set_database = utf8 ;

5.删除原来的问题数据库重建,在输入中文。就ok了。


此外,关于windows GBK编码的文件,如何快速转换为UTF8,mac下如下操作:

单个文件转换代码:

 iconv -f GBK -t UTF-8 a.php > a.php.utf8

批量转换文本编码代码:
find *.php -exec sh -c "iconv -f GBK -t UTF8 {} > {}.utf8" \;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值