上学期期末web开发的大作业,要求写一个通缉犯管理系统,基本要实现的功能归结起来不外乎数据库的增删改查。大体实现起来很容易,但在一些细节上让我纠结了很久。其中一个就是中文乱码的问题。其中主要涉及一下两个方面:
一、无法在mysql数据库中插入中文的数据,一旦涉及中文数据,在数据库中就会变成乱码。经过查询发现是由于数据库的默认编码设置的问题,将相应表和列的编码设置成UTF-8即可
二、页面显示乱码。
1.通过<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" %> 指定页面的编码
2.后台接受中文参数时使用new String(str.getBytes("ISO-8859-1"), "UTF-8")来进行编码转换。
通过这次调试bug的经历,我知道了遇到问题首先需要分析问题出现的原因,只有知道了原因才能去解决,学习分析问题的来源远比解决这个问题重要的多。
而出现乱码问题的原因就是程序的编码没有和编程人员的编码进行统一,那么解决这个问题只需要将编程人员想要的编码告诉程序就可以了,以上解决乱码问题的方法都可以说是一种声明编码的过程,也就是说乱码问题终极解决方案就是转码。
原文:http://www.cnblogs.com/gaomengya/p/5243430.html