web开发 笔记 - 中文编码问题

来源:互联网 发布:淘宝数据魔方在哪里看 编辑:程序博客网 时间:2024/05/20 01:07


1.起初在windows下,结合eclipse和tomcat开发web应用。后来要求将项目部署到另一台linux服务器。
2.接着在linux服务器上安装JDK,tomcat。
3.将windows下的web project打包成war文件之后直接放至linux服务器 tomcat目录 webapps下,启动tomcat......
4.之后运行web项目,发现中文是乱码!尽管在浏览器中换各种coding都不能显示出正常的汉字。
5.慢慢分析之后,发现在windows下,eclipse默认文件编码格式是GBK,在linux即使浏览器采用GBK解码,也是看不到正确的汉字。
6.因此唯一的办法就是将windows下eclipse文件编码格式设置为UTF-8(以后最好都设置为UTF-8),如下:
windows->Preferences...打开"首选项"对话框,左侧导航树,导航到general->Workspace,右 侧Text file encoding,选择Other,改变为UTF-8,以后新建立工程其属性对话框中的Text file encoding即为UTF-8。
之后,eclipse默认文件编码格式为UTF-8。
7.假设现在已经有一大推GBK格式的文件,eclipse编码格式转换为UTF-8之后,文件中中文都是乱码,如何将原来的GBK格式的文件都转换为UTF-8格式的?

首先,将原来GBK格式的文件保存一份;

接着,将eclipse编码格式设置为UTF-8,之后web项目所有文件格式为UTF-8,中文出现乱码;

然后,将保存的GBK格式的文件用editplus等打开,对应覆盖掉eclipse中乱码的文件;

这样,web项目的所有文件转换为UTF-8格式。


文件比较多,过程会比较辛苦。

8.将所有文件编码格式转换为UTF-8之后,整个web项目打包为war部署到linux服务器tomcat下,启动tomcat,perfect!中文乱码解决!
9.UTF-8和GBK区别(来自baidu):

字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1。


至于UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中文使用24位(三个字节)来编码。对于英文字符较多的论坛则用UTF-8节省空间。


GBK包含全部中文字符;UTF-8则包含全世界所有国家需要用到的字符。

GBK是在国家标准GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)
UTF-8编码的文字可以在各国各种支持UTF8字符集的浏览器上显示。
比如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,而无需他们下载IE的中文语言支持包。 所以,对于英文比较多的论坛 ,使用GBK则每个字符占用2个字节,而使用UTF-8英文却只占一个字节。

UTF8是国际编码,它的通用性比较好,外国人也可以浏览论坛,GBK是国家编码,通用性比UTF8差,不过UTF8占用的数据库比GBK大~

10.总结经验,以后web项目还是统一设置为UTF-8编码格式,便于扩展、通用性等。
11.最后欣赏~

0 0
原创粉丝点击