只需做两件事
1、 连接数据库时url加上“characterEncoding=UTF-8”
形如
url="jdbc:mysql://localhost:3306/drivingschool?&characterEncoding=UTF-8";
2、在tomcat安装目录下,找到conf文件夹下的server.xml,修改你用到端口里的参数,加上URIEncoding=”UTF-8”,如

   <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" /> 

注意:时间紧迫的人按照上边改就是了,较悠闲者可继续往下看。

Part1

  • 想干啥:试试原生JDBC
  • 关键词:statement
  • 问题:对数据进行增删改查时,一旦数据库中的数据是中文时,就要出问题。比如,user表name字段下存了一个“王二”,用select * form user where name="王二" 查不到任何结果。

上网查询方案,得知中文需要改造一下,用来拼接字符串,于是乎。。。

Part2

  • 关键词:中文改造
  • 示例:
    String finalname="\""+name+"\"";
    String sql1="select * from student_info where sname = "+finalname+" ";
  • 结果:依然查不出任何数据,转义符后边我还换了单引号,还加过分号,各种奇葩的,没道理的,有道理的招我都试了,还是查不出数据

询问其他队友之后,得知preparedstatement可以做到,于是乎。。。

Part3

  • 关键词:preparedstatement
  • 结果:依旧

心得:除了文章开头的两点,还有
1、拼接字符串时,一定要给中文加上引号。
2、preparedstatement中,给占位符“?”添加数据时,此时的中文不需再加双引号(体现出是个字符串的那个双引号还是得加的哈!