
原因:Unix及类Unix系统里,每行结尾只有换行“\n”,Windows系统里面,每行结尾是换行+回车“\n\r”,编码格式不一样。
windows文件格式dos
linux文件格式unix
解决方法:修改文件的编码。
在linux上用vi打开文件
首先我们在终端窗口处输入mysql -u root -p 命令,然后输入root帐号密码连接数据库。具体 *** 作如下图所示。连接上数据库后,执行命令show variables like 'character%'查看数据库的编码格式,可以看到数据库以及数据库服务端的默认编码都为:latin1编码。具体 *** 作如下图所示。
然后我们退出数据库,修改数据库的配置文件my.cnf文件,此文件如果通过rpm安装一般在/etc/目录下,具体修改成的样式如下图所示。
修改完成后,我们保存配置的修改,然后执行命令service mysqld restart。重新启动数据库。具体 *** 作如下图所示。
然后我们待数据库重启完成后,重新连接数据库,执行命令show variables like 'character%'查看更改后的编码格式。具体展示如下图所示,可以看到已经修改为utf8编码。
当然对于某个数据库的编码格式的查看,我们可以通过执行命令show create database+数据库名称具体展示如下图所示。
我们也可以通过执行命令修改数据库的编码格式,可以通过命令:alter database +数据库名称 default character set utf8 collate utf8_general_ci修改为utf8格式。具体 *** 作如下图所示。
修改完成后,我们再次执行命令 show create database +数据库名称,来查看确认是否更改成功。可以看到已经是utf8格式了。
在Linux上查看文件,有时候会出现中文乱码的问题。这是因为文件编码不兼容导致的,需要进行文件转码。
1、用VI查看文件编码,在Vi命令模式以下命令,即可显示文件编码格式。
2、 改写~/.vimrc 文件,在文件中添加以下内容,就可以让vi自动识别UTF-8或者GBK编码的文件。
将window上创建的脚本传输到linux执行时,会出现-bash: xxx: /bin/sh^M: bad interpreter: No such file or directory的错误。
1、vi打开文件,并在命令模式下输入以下命令回车,此时看到的是dos格式。
2、修改文件格式, 同样在vi命令格式下,输入以下修改文件格式。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)