JavaWeb工程在Linux下的中文乱码问题汇总

      在windows下开发的JavaWeb项目,运行测试没有任何问题,后来部署到阿里云租来的linux服务器上,结果遇到了各种问题,解决也花费了不少时间,还是来总结一下。

    1、secureCRT的中文乱码

         我用的终端是secureCRT,发现tomcat日志不停的打印中文乱码,这里要先修改终端软件的编码,我这里就是修改secureCRT的编码,打开“选项”--》“会话选项”,修改如下图:


    在这里将字符编码变为utf8,字体可以选择中文的任意字体。这个改完后,tomcat的打印乱码问题就解决了。

    2、关于Mysql的大小写问题

         web端操作数据库时报错,发现之前mysql安装好后没有进行相关的配置,首先遇到的问题是数据库大小写敏感的问题,这是因为windows下安装mysql后,会有默认的配置,而linux系统则没有,需要自己添加。

         修改my.cnf文件:vi  /etc/my.cnf

         在[mysqld]下边加入一行  lower_case_table_names=1

 如果项目中hibernate.hbm2ddl.auto"设置为update等属性的话可以看到新建立的数据表都是小写了。

    3、关于Mysql含有中文的sql语句无法查询的问题

         在shell输入mysql登陆后:  mysql>show variables like '%character%';回车后显示:
+----------------------+---------------------
| Variable_name | Value
+-----------------------+---------------------
| character_set_client | latin1
| character_set_connection | latin1
| character_set_database | latin1
| character_set_filesystem | binary
| character_set_results | latin1
| character_set_server | latin1
| character_set_system | utf8
| character_sets_dir | /usr/share/mysql/charsets/
+---------------------+----------------------

可以看到编码都是latin1,这里仍然进入my.cnf修改 vi  /etc/my.cnf

        找到  default-character-set=latin1   将latin1改为utf8,然后在[client]和[mysqld]下面加入一行:

init_connect='SET NAMES utf8'  

        然后再次mysql>show variables like '%character%';就可以看到相应的latin1换成utf8了。之后mysql的中文乱码解决。

        4、关于文件系统乱码

        这里要说明的是,ftp查看linux服务器上的文件总会是乱码,这是因为windows和linux的文件编码不同,在命令行下输出文件夹下的文件,可以看到都是正常的中文,这个不是问题,ftp都存在。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值