zoukankan      html  css  js  c++  java
  • Bug案例集中营

    1、get方法提交表单,后台出现中文乱码问题  (注明:web.xml中的编码设置只是针对post请求)

           在eclipse中,找到tomcat的目录,在这个目录下面 omcat61-32 omcat61conf,找到server.xml

           打开文件,找到这一行  <Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

           将其修改成这样 <Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/>

           最后清理服务器缓存

         (如不行,更改tomcat原始路径的配置)

          配置useBodyEncodingForURI="true"后,可以解决普通get请求的中文乱码问题

            但是对于通过ajax发起的get请求中文依然会乱码,请把useBodyEncodingForURI="true"改为URIEncoding="UTF-8"即可

    2、Js的数组排序sort(),默认使用字母数字(字符串的Unicode码)排序。例如:[1,2,5,10].sort()会输出 [1,10,2,5] 。正确的排序可用 [1,2,5,10].sort(a,b)

     3、JSp使用include标签包含子页面时出现乱码。方法:在子页面的顶部加入:<%@page pageEncoding="UTF-8"%> 

    4、Linux的权限读取文件,java往服务器上上传文件后,再次登录就没有权限了。

    5、写接口调试的时候,浏览器查看乱码,解决办法:

          1.通过代码查看当前电脑的编码类型System.out.println(System.getProperty("file.encoding")); 或者 System.out.println(Charset.defaultCharset());,任意选一种即可。

          2.response.setCharacterEncoding("utf-8");//第一句,设置服务器端编码

             response.setContentType("text/html;charset=utf-8");//第二句,设置浏览器端解码

    6、linux系统下mysql表名区分大小的问题:  

     1、数据库名与表名是严格区分大小写的;2、表的别名是严格区分大小写的;3、列名与列的别名在所有的情况下均是忽略大小写的;4、变量名也是严格区分大小写的;
     注:MySQL在Windows下都不区分大小写。

      可以查看Linux上的MySQL的配置文件/etc/my.cnf ,就需要在[mysqld]下面添加一行配置,即 lower_case_table_names=1: (其中 0:区分大小写,1:不区分大小写)

    [root@VM_219_131_centos tomcat7]# vi /etc/my.cnf 
    [mysqld]
    lower_case_table_names=1
    datadir=/var/lib/mysql
    socket=/var/lib/mysql/mysql.sock
    user=mysql
    # Disabling symbolic-links is recommended to prevent assorted security risks
    symbolic-links=0
    
    [mysqld_safe]
    log-error=/var/log/mysqld.log
    pid-file=/var/run/mysqld/mysqld.pid

        补:如果想在查询时区分字段值的大小写,则:字段值需要设置BINARY属性,设置的方法有多种:

    A、创建时设置:
    CREATE TABLE T(
    A VARCHAR(
    10) BINARY );
    B、使用alter修改:
    ALTER TABLE`tablename` MODIFY COLUMN `cloname` VARCHAR(45) BINARY;
    C、mysql table编辑时中直接勾选BINARY项。
    修改完后,一定记得重启数据库。
    [root@VM_219_131_centos tomcat7]# service mysqld restart
    Stopping mysqld:  [  OK  ]
    Starting mysqld:  [  OK  ]

     

  • 相关阅读:
    77777 77777(2) WriteUp 绕waf技巧学习
    简单sql注入学到的延时盲注新式攻击
    代码审计 => 74cms_v3.5.1.20141128 一系列漏洞
    mysql注入新姿势(数字与字符编码注入) hex,conv
    Netty 3升级Netty4实践
    微信小程序获取用户openid,头像昵称信息,后台java代码
    转:JSP 分页显示数据 (Oracle)
    从数据库提取数据通过jstl显示在jsp页面上
    转:微信生成二维码java
    转:微信开发获取地理位置实例(java,非常详细,附工程源码)
  • 原文地址:https://www.cnblogs.com/george93/p/6952378.html
Copyright © 2011-2022 走看看