最近重新学习了一下JavaWeb的一些基础知识,今天在学习JavaBean时遇到了一个中文的乱码问题。当JavaBean获取表单中的数据有中文时就会出现乱码的现象。原因大概是因为MyEclipse对Java文件的默认编码是iso8859-1,而我们在jsp中的编码设置一般为utf-8,所以在获取中文时必然会出现乱码的现象。
其实解决的方法很简单,只需要我们在Getter方法中用getBytes()方法即可。
示例JavaBean代码如下:
<pre name="code" class="java">import java.io.UnsupportedEncodingException;
public class Employee {
private String username="";
private String password="";
public Employee() {
}
public String getUsername() throws UnsupportedEncodingException {
<span style="background-color: rgb(255, 0, 0);">return username=new String(username.getBytes("iso8859-1"),"utf-8");</span>
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() throws UnsupportedEncodingException {
<span style="background-color: rgb(255, 0, 0);">return password=new String(password.getBytes("iso8859-1"),"utf-8");</span>
}
public void setPassword(String password) {
this.password = password;
}
}
注意上面代码中红色背景的部分,这样我们就把要传递的数据的编码改成了utf-8格式。
以上。