linux页游服务端,linux服务器数据到前端网页出现中文乱码。

初学者在Linux虚拟机中搭建web服务器遇到MySQL导入sql文件时中文乱码的问题。解决方案包括:1. 修改MySQL配置文件,设置default-character-set=utf8及init_connect参数。2. 在导入sql文件前将其编码转换为unix格式。通过这两个步骤,成功解决了文件在Linux环境中显示中文乱码的难题。
摘要由CSDN通过智能技术生成

事情是这样的。

初学linux,自己在本地虚拟机linux系统里搭建了web服务器。就把原来在window上开发的项目放到linux上来。我用的是rz命令用xshell来本地上传。项目其他的一切没什么问题,就mysql导入sql文件的时候出现了中文乱码的问题。但在服务器上的数据是没有问题的。

经过自己的研究并解决了问题,原因有两点:数据库编码不对,因为linux系统默认编码是以英文为主,即为latinl. 这与我们一般设置的utf8不符合,所以 这是一个原因。

应对方法:

默认登录mysql之后可以通过SHOW VARIABLES语句查看系统变量及其值。

命令:mysql> show variables like '%character%';

好,如果发现如图所示201204151624142.jpg

那说明编码确实不符。

接下来需要修改mysql配置文件

vi /etc/my.cnf

在[client]下增加default-character-set=utf8

在[mysqld]下增加default-character-set=utf8

同时加上init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

201204151624143.jpg

修改保存完成后 重启mysql服务

service mysqld restart

进入Mysql 重新查看mysql数据编码 如图所示

201204151624144.jpg

那么恭喜你 更改mysql数据编码成功。

2.第二点 比较简单 但往往是忽略了简单的问题 导致找不到问题所在 也还是文件编码问题

从window上上传的文件 到linux下 运行起来会存在有数据编码的问题。

sql文件我是从window上传的 所以 理所当然  这个问题就存在了。

所以 在导入sql文件之前  应该把sql文件的编码给转换成linux识别的编码 命令如下:

vi 目标文件

键入 :setfileformat=unix  回车 保存

完成后 数据恢复正常。

这文章主要是写给自己将来看的  各位前辈 如有不对的地方 还望多多指点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值