linux数据库编码问题解决



有时候外部链接都很好,程序已经把所有的编码装换成了utf8,但是到数据库存储以后仍然是乱码问题

第一:需要检查的是:jdbc链接是否设置了utf8,
示例:jdbc.mysql.url=jdbc:mysql://192.168.134.128:3306/ssh?useUnicode=true&characterEncoding=utf8

第二:在创建数据库时候是否进行了数据库编码 检查一下数据库的编码 CREATE DATABASE ssh CHARACTER SET utf8

第三:查看数据库变量,使用语句:  SHOW VARIABLES LIKE 'character_set_%'

一般character_set_server默认为latin,修改其变成utf8即可  SET character_set_server = utf8,然后重新启动mysql服务
但是mysql服务启动后,character_set_server又会变回latin 。为了解决此问题,打开linux下vi /etc/my.cfg
在最后添加
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci

重新启动数据库服务即可
停止数据库服务命令:mysql service stop
启动数据库服务命令:mysql service start
重新启动数据库服务命令:mysql service restart

但是有时候启动或者关闭时候会报错 报错,无法启动MySQL服务。
Failed to issue method call: Unit mysql.service failed to load: No such file or directory.

建议使用命令 systemctl start mysql.service 
如果仍然报错  Failed to issue method call: Unit mysql.service failed to load: No such file or directory. See system logs and 'systemctl status mysql.service' for details.

解决办法 systemctl enable mysql.service 
再次启动mysql  systemctl start mysql 
示例:
[root@192 ~]# systemctl stop mysql.service 
[root@192 ~]# systemctl start mysql.service 
[root@192 ~]# ps -ef | grep mysql 
root       3075      1  0 12:05 ?        00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/mysql/data --pid-file=/usr/local/mysql/data/192.168.134.128.pid
mysql      3243   3075 13 12:05 ?        00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/usr/local/mysql/data/192.168.134.128.err --pid-file=/usr/local/mysql/data/192.168.134.128.pid
root       3267   2824  0 12:05 pts/1    00:00:00 grep --color=auto mysql



 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值