zoukankan      html  css  js  c++  java
  • 后端调用数据库传给前端页面中文显示为问号

    写一个MVC程序,然后从数据库调用数据返回给前端,然后数据库在控制台输出还是正确的。通过输出在html中就 中文就成了问号????

    然后网上找了两种方法

    第一种方法未成功

    通过set方法 将所有 改为utf8

     

    第二种方法 成功!!

    servlet的response中加入了,就可以了

    response.setHeader("Content-type", "text/html;charset=UTF-8");
    response.setCharacterEncoding("UTF-8");

    更新

    看了一下尚学堂的servlet的讲解,其中讲了一下,post和get方法传送出现乱码有不同的解决方式

    post方法传递出现问号就如上第二种方法所述,加一下response的字符编码即可;

    而get方法传递的参数则需要用另一种方法,通常网页时iso,而数据库时utf-8编码,所以要进行一个转换.

    servlet获取一个uname信息

    String uname = request.getParameter("uname");
    uname = new String(uname.getBytes("iso8859-1"),"utf-8");

    总结

    post方法:
    response.setCharacterEncoding("UTF-8");

    get方法:
    uname = new String(uname.getBytes("iso8859-1"),"utf-8");

    如果get方法中不想很麻烦的进行编码转换,可在tomcatconfig文件夹下将 server.xml的文件中找到这段话

    并且加上我画圈的,还需要加上“response.setCharacterEncoding("UTF-8");“

    即可

  • 相关阅读:
    自动控制基础MATLAB 2
    钽电容和瓷片电容的对比
    自动控制原理基础 matlab 1
    Altium使用总结1
    Altium 各个层的作用
    C语言联合体的灵活运用
    windows清除日志
    Lingo 优化实例 出版社问题
    Lingo 0-1规划
    用CMD分类
  • 原文地址:https://www.cnblogs.com/smuzoey/p/11573399.html
Copyright © 2011-2022 走看看