eclipse之所以会出现乱码问题是因为eclipse编辑器选择的编码规则是可变的。一般默认都是UTF-8或者GBK,当从外部导入的一个工程时, 如果该工程的编码方式与eclipse中设置的编码方式不同,就会产生中文的乱码问题,这其中还有几种情况。
如果你的文件出现的是这样的编码错误,那么也就是说你import的项目原本采用的是GBK的编码方式,那么在下面的步骤中你就需要将对应设置改为GBK:
//��ʾ�û���Ϣ
System.out.println("��ʾ�û�");
//�༭�û���Ϣ
System.out.println("�û���ʼ");
//���ص�½ҳ��
return "redirect:/second/login";
如果你的文件出现的是这样的编码错误,那么也就是说你import的项目原本采用的是UTF-8的编码方式,那么在下面的步骤中你就需要将对应设置改为UTF-8:
/**
* 鏍规嵁id鏌ヨ瀹㈡埛璇︽儏
*/
@RequestMapping("/findCustomerById")
public String findCustomerById(Integer id,Model model) {
Customer customer = customerService.findCustomerById(id);
model.addAttribute("customer", customer);
//杩斿洖瀹㈡埛淇℃伅灞曠ず椤甸潰
return "customer";
}
如果导入的整个工程的编码方式与eclipse的编码方式有冲突,那么这个工程里所有的中文都是乱码;对于eclipse工作空间 ,eclipse会把你改的设置保存在工作空间的设置文件中,对于单个工程的编码方式进行修改,那么eclipse会把编码方式保存在该工程 的.setting文件包里。
所以,要避免中文乱码问题有两个原则:
(1)避免频繁更换工作空间,最好项目从一开始就在一个工作空间中进行,并且最好设置工作空间的编码方式为你平时最经常使用的或者是公司规定的项目编码方式,这样工程就会使用工作空间的编码方式,避免出现编码不一致的情形;
(2)相同类型的文件尽量使用相同的编码方式,可以保证相同类型的文件都能使用一致的编码设置;
解决中文乱码问题可以有以下设置方案:
(1)修改工作空间的编码方式:
Window->Preferences->General->Workspace->Text file Encoding
在Others里选择需要的编码方式(如没有则直接输入),然后保存。
(2)修改单个工程的编码方式:
右击工程,在弹出的菜单中选择最后一项“Properties”
在打开的新窗口左边的菜单树中选择 Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。
(3)修改一类文件的编码方式:
假设要将js文件编码方式设为UTF-8,则应该
Window->General->Content Types
在Content Types中选择JavaScript Source File,在File associations栏中选中*.js,然后在Default Encoding栏中输入UTF-8,单击Update,保存即可。
(4)修改单个文件的编码方式:右击要修改的文件,在弹出的菜单中选择最后一项 “Properties”,在打开的新窗口左边的菜单树中选择 Info(即第一个),然后在右面找到 Text file encoding ,选择 “other”,在下拉框中选择需要的编码方式(如没有则直接输入)。与修改工程编码方式的方法类似。
ps:在项目过程中遇到的另外一个乱码问题是因为操作系统的字体文件问题,在某些情况下,eclipse所使用的系统中文字体如果被破坏的话,也会导致中文无法显示的问题。所以,如果在上述设置都无法解决问题的时候,应该要考虑一下系统字体文件的问题。