我的理解是,“中文”的UTF-8编码是e4 b8 ad e6 96 87,gbk的编码是d6d0 cec4。
如果指定characterEncoding为utf8,那么在数据库中实际存储的是e4 b8 ad e6 96 87。
如果指定characterEncoding为gbk,那么在数据库中实际存储的是d6d0 cec4。
请问是不是这样呢?

解决方案 »

  1.   

    http://www.cnblogs.com/xuefuwu/archive/2012/05/06/2486577.html
      

  2.   

    jsp传给servlet时,会按照页面设定的编码方式封装、传递参数。在servlet中,如果不设置request的characterEncoding为与页面相同的编码格式,在取中文参数的时候会得到乱码(英文无影响)。
    返回相应的时候,response.getWriter()之前如果不设置response的characterEncoding为与页面相同的编码格式,响应页面显示中文会乱码(英文无影响)。数据库的设置,要保持与当前java文件的编码格式一致,否则入库或者取参数的时候会有乱码。