20180316.BUG修复:关于前后端交互中文乱码的问题
2018-03-16 18:21
495 查看
20180316.BUG修复:关于前后端交互中文乱码的问题
作者: chenhaoting时间: 2018-03-16
分类: 科研项目日志
评论
首先重新建立数据库,确认所有编码格式为utf8.
然后猜测此BUG问题应该出在前后端交互信息的时候,信息没有被正确解析。
所以,修改后端javaweb,
确保项目根目录下/WebRoot/META-INF/context。xml文件中url=”jdbc:mysql://localhost:端口/数据库名?useUnicode=true&characterEncoding=utf-8“。
servlet的java文件中需要以utf8编码解析json字符串:
resp.setContentType("application/json;charset=utf-8");然后修改前端,同样是需要正确解析,找到有需求的组件Right和组件注册,使用querystring.stringify()方法:
官方对此方法提供的解释是:obj通过遍历对象的“自己的属性” 从给定的URL生成URL查询字符串。
用法就是querystring.stringify({ 后端设定的请求取得的信息名: 前端要给后端的字符串, 后端设定的请求取得的信息名: 前端要给后端的字符串 });
所以以Right组件为例,修改异步请求部分所在的methods:
var lu = sessionStorage.getItem('login_user');
var ctx = this.context; var qs = require('querystring'); if(lu!=null && ctx!=''){ this.$http.post('/api/UserManager/addEssay', qs.stringify({user_name:lu,context:ctx})) .then((response)=>{ this.context=''; this.remnant=300; if(response.data.result==1) this.hint="发送成功!!!如果需要再次发送,请在这里输入发表内容,限300字符" }) .catch(function(err){ console.log(err); }); }else if(sessionStorage.getItem('login_user')==null){ this.isModalVisible = true; }else if(this.context==''){ this.hint="发送失败,内容为空。如果需要再次发送,请在这里输入发表内容,限300字符" }成功在后端得到中文,在前端显示中文。不过数据库的显示还有乱码,但是不影响使用。
相关文章推荐
- openx开源广告系统修复中文乱码bug问题
- 关于Servlet中前后台交互中文乱码问题的解决
- 关于客户端与服务器ajax使用json数据交互,出现中文乱码或因包含html标答而报错的问题(base64加密)
- openx开源广告系统修复中文乱码bug问题
- 文《关于c++与java中文乱码问题分析与解决》中一个bug分析
- 关于B/S模式的web服务交互过程中的中文乱码问题浅析
- 关于Antenna包产生中文乱码的问题
- 关于jsp之间href传参(中文)乱码问题
- 这是我们公司总结的一些关于中文乱码问题的一些解决方案和经验和大家分享!
- 关于mysql导入中文乱码问题的理解
- 关于putty中文乱码问题解决办法
- 关于在地址栏中直接输入中文,后台获取乱码的问题。
- 关于python保存再打开后的中文乱码的问题
- [PHP+MySQL开发基础分享]关于PHP会话和网页中文乱码的问题
- 关于Ant的中文文件名乱码问题的解决
- 关于Oracle数据库中不同编码所造成的中文乱码问题
- 关于在servlet跳转中出现的中文乱码问题
- 关于web项目中中文乱码问题
- 关于jforum的发表文章、回复一直出现中文乱码的问题
- Spring学习笔记(三十五):关于httpClient的post请求,到后台中文乱码的问题