当前位置: 首页 > news >正文

合工大智能院网站建设滨海专业做网站

合工大智能院网站建设,滨海专业做网站,住房和城乡建设部网站建筑合同,wordpress 旅行1.字符乱码出现的原因: 出现乱码是由于数据在传递和接受过程中字符编码格式不一致导致的。 for examples: 输入11-->在2进制中代表的是3-->在8进制中代表的是9-->在16进制中代表的17在这里同样输入的都是11,但是由于进制的不一样,所…

1.字符乱码出现的原因:

出现乱码是由于数据在传递和接受过程中字符编码格式不一致导致的。

for examples:

输入11-->在2进制中代表的是3-->在8进制中代表的是9-->在16进制中代表的17

  在这里同样输入的都是11,但是由于进制的不一样,所以代表的值也不一样。

同理,编码在底层都是一串字节码,由于编码格式的不同,比如以UTF-8编码格式进行编码,以iso8859-1编码格式就无法进行解析,所以所展现出来的字符串就不是原先的字符串了。

2.字符乱码的解决方式

2.1将乱码先进行编码,在进行解码(不管是get请求还是post请求都适用)

String userCount = User.getUserCount();
//将乱码字符串按照错误的编码格式转换为原始的字节码序列
byte[] bs = userCount.getBytes("iso889-1");
//将原始的字节码序列使用正确的编码格式进行编码,转换为正确的文字
userCount  = new String(bs,"utf-8");

2.2使用spring框架构建项目的话可以使用编码过滤器(post请求方式)

在web.xml中添加:  

<filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class></filter><filter-mapping><filter-name>encoding</filter-name><servlet-name>springmvc</servlet-name></filter-mapping>

  <servlet-name>springmvc</servlet-name>说明只要请求被前端控制器拦截到,就会执行这个名称为encoding的filter。

 CharacterEncodingFilter的源码如下:

public class CharacterEncodingFilter extends OncePerRequestFilter {/*设置了两个属性encoding和forceEncoding,encoding代表的是编码格式,forceEncoding表示是否启用*/private String encoding;private boolean forceEncoding = false;public CharacterEncodingFilter() {}public void setEncoding(String encoding) {this.encoding = encoding;}public void setForceEncoding(boolean forceEncoding) {this.forceEncoding = forceEncoding;}protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException {/*当编码格式不为空以及forceEncoding为true时,那么设置就将服务器端的编码格式设置为配置文件中设置的编码格式*/if (this.encoding != null && (this.forceEncoding || request.getCharacterEncoding() == null)) {
      //只能修改请求体中编码方式request.setCharacterEncoding(
this.encoding);if (this.forceEncoding) {response.setCharacterEncoding(this.encoding);}}filterChain.doFilter(request, response);} }

所以需要在web.xml中设置encoding和forceEncoding的初始化值

  <filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param><init-param><param-name>forceEncoding</param-name><param-value>true</param-value></init-param></filter><filter-mapping><filter-name>encoding</filter-name><servlet-name>springmvc</servlet-name></filter-mapping>

2.3如果是本地的项目的话,可以在tomcat的配置文件server.xml中修改编码格式 (get请求)

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

  在server.xml配置文件下,添加属性URIEncoding="UTF-8"

总结:字符乱码问题需要分get请求和post请求。

转载于:https://www.cnblogs.com/wsxdev/p/11432122.html

http://www.yayakq.cn/news/576553/

相关文章:

  • 塘厦做网站平台网站建设可行报告
  • 旅游网站开发毕业设计开题报告溧阳网站建设报价
  • discuz 做门户网站宝安网页设计培训
  • 制作展示型网站公司哪家好游戏源码下载
  • 南通市住房和城乡建设局网站湖北专业网站建设产品介绍
  • 网站建设方案之目标网站建设费 摊销处理
  • 转短链接在线生成西安seo托管
  • 优良的网站邮箱服务器提供商isp如何提高网站开发效率
  • 男的和女的做那个视频网站网站的建设与开发
  • 素材天下网站烟台网站建设精通臻动传媒
  • 百度上如何做企业网站网络运维证
  • 刷网站seo排名软件北京软件公司有多少家
  • SOHO英文网站制作深圳设计周
  • 海南做网站的网络公司wordpress 修改固定链接 404
  • 深圳网站建设服务哪家有外贸模版网站
  • 青岛网站漳州seo建站
  • 代理做网站合适吗网站建设就业
  • 个人建站哪类站赚钱seo优化排名教程百度技术
  • 做文献的ppt模板下载网站sae做的网站备份
  • 乌市昌吉州建设局网站南宁品牌网站设计公司
  • 做家政网站公司广告信息
  • 福田招聘信息最新招聘网廊坊视频优化展现
  • 怎么做移动端网站计算像素平面设计公司电话
  • 有阿里云的主机了怎么做网站做外贸用什么视频网站
  • 学网站开发有用么关于网站建设的调查报告
  • 网站 php .net长沙小学网站建设
  • 上海建设网站服务唐山的网站建设
  • 帮企业做网站什么是网站app
  • 东莞网站建设中企动力技术支持国内新闻最新消息10条简短2021
  • 网站系统维护一个月正常吗网站界面技术方案