博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
后端调用数据库传给前端页面中文显示为问号
阅读量:5046 次
发布时间:2019-06-12

本文共 803 字,大约阅读时间需要 2 分钟。

写一个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");“

即可

 

转载于:https://www.cnblogs.com/zoey686/p/11573399.html

你可能感兴趣的文章
【ASP.NET开发】菜鸟时期的ADO.NET使用笔记
查看>>
android圆角View实现及不同版本号这间的兼容
查看>>
OA项目设计的能力③
查看>>
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Activity和Fragment生命周期对比
查看>>
OAuth和OpenID的区别
查看>>
android 分辨率自适应
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
国外媒体推荐的5款当地Passbook通行证制作工具
查看>>
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
hibernate生成表时,有的表可以生成,有的却不可以 2014-03-21 21:28 244人阅读 ...
查看>>
mysql-1045(28000)错误
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
1.jstl c 标签实现判断功能
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
超详细的Guava RateLimiter限流原理解析
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>