折腾了一下午一晚上,下午在程序端改了好多地方,都没有解决。晚上还找了个数据库运维兄弟给看了下数据库,虽然没有把问题解决,但是给了一些启发。果然,在Spring的ApplicationContext的数据库URL处发现了问题。
jdbc:mysql://localhost:3306/manage?useUnicode=true&characterEncoding=utf8红色部分关键。
---明天补充其他未成功但觉得有价值的方案和数据库配置。
2018.01.23 22.33
-----------------------------------------------
很多解决方案使用来了如下代码:
String userName = requset.getParameter("userName");
userName = new String(userName.getBytes("iso-8859-1"),"UTF-8");
潜在的解决方案之一,因为页面设置了UTF-8所以这个方法并不适用。
另外一个工具方法解决上述代码重复使用
public class TranForm{
public static String getString(String input){
String result = null;
try{
result = new String(input.getBytes("iso-8859-1"),"UTF-8");
}catch(Exception e){
e.printStackTrace();
}
return result;
}
另外,数据库
SET_CHARACTER_XXX
character_set_client utf8
character_set_connection utf8
character_set_database latin1
character_set_filesystem binary
character_set_results utf8
character_set_server latin1
character_set_system utf8
--2018 01 25