linux服务器编码格式与程序不匹配

linux服务器编码格式与程序不匹配,第1张

刚刚遇到了在Windows上编写的java程序在Linux上运行时的编码问题。在Windows上用Notepad 或者Eclipse写的java程序,如果其中有中文字符,在Linux下javac是无法编译成功的。

Windows的编码集是GBK编码,而Linux的则是UTF-8,所以需要使用工具将java源程序的编码给改变。

可以使用iconv这个工具

命令格式为

iconv -f GBK -t UTF-8 file1 -o file2

登录后复制

file1是GBK编码的,file2是UTF-8编码的。

如果不想保留原来的文件可以将file2的文件名写为和file1一样。

然后就可以javac成功编译了。

首先我们在终端窗口处输入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格式了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8982704.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存