[简介] 最近我要解析一个数据库中间件的日志.这个中间件会在日志中记录SQL发往的后台DB ,执行耗时,对应的SQL:中间件直接把SQL写到 了日志中去,并没有对SQL进行适当的编码转换:理想情况下这个也不会有什么问题,不幸的是我就面对着这种情况,client的发给中间件 的SQL有可能是"utf-8",也有可能是"gbk",也有可能是"gb2132":所以使用中间件的日志文件用任何一种编码方式都不成正确的解码它, 幸运的是我要做的工作只要解决出…
Mysql数据库简介 什么是数据? ​ 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,数据是信息的表现形式和载体,可以是符号,文字,数字,语音,图像,视频等,数据和信息是不可分离的,数据是信息的表达,信息是数据的内涵,数据本身没有任何意义,数据只有对实体行为产生影响才成为信息.在计算机系统中,数据以二进制信息单元0,1形式表示 什么是数据库? ​ 数据库(Database): 是按照数据结构来组织.存储和管理数据的仓库,给我们提供了一种以关系…
前面的话 HTTP报文中可以承载以任何语言表示的内容,就像它能承载图像.影片或任何类型的媒体那样.对HTTP来说,实体主体只是二进制信息的容器而已.为了支持国际性内容,服务器需要告知客户端每个文档的字母表和语言,这样客户端才能正确地把文档中的信息解包为字符并把内容呈现给用户,而要实现这个功能,需要用到接下来要详细介绍的字符集 首部概述 服务器通过HTTP协议的Content-Type首部中的charset参数和Content-Language首部告知客户端文档的字母表和语言.这些首部描述了实体主…
场景:主库DB:utf8字符集备库DB:gbk字符集 需求:校验主备数据是否一致,并且修复 校验过程:设置主库连接为utf8,设置备库连接为gbk,分别进行查询,将返回的的结果集按记录逐字段比较. 显示结果:原本相同的汉字字符,数据校验认为不一致. 原因分析:对于主库而已,由于建立连接的字符集为UTF8,则返回的汉字字符编码为UTF8格式:对于备库而言则是GBK格式,而程序中通过字符串比较函数strcasecmp进行比较,显然不同的字符集编码,相同的字符有不同的二进制,因此结果肯定不会相等. 进…
字符集指的是什么? 字符集是一个人为的规定,人们用一个小册子规定好"文字字符"与"数字"的对应关系. 其中,每一个字符对应的数组也称其为编码. 例如,ASCII码表就是一个字符集 char 'A'  = 65,A的编码为65 char '0'  = 48,0的编码为48 字符集是由一些组织制定和发布的,如ISO/IEC就负责制定字符集. 每一个字符集都有一个标准编号,如ASCII字符集的编号为ISO/IEC 646. [拉丁字符集(Latin)] 拉丁字符集:收录了…
1. Mysql支持的字符集 MySQL服务器可以支持多种字符集,不同的字段都可以使用不同的字符集. 查看所有可用字符集: show character set; select * from information_schema.character_sets; MySQL的字符集包括字符集(CHARACTER)和校对规则(COLLATION)两个概念.其中字符集定义MySQL存储字符串的方式,校对规则用来定义比较字符串的方式.字符集和校对规则是一对多的关系. 注:目前线上服务器上用utf8mb4…
[MySql数据库常见字符集介绍] 在互联网环境中,使用MySql时常用的字符集有: [如何选择合适的字符集] 1.如果处理各种各样的文字,发布到不同语言的国家地区,应选Unicode字符集,对MySQL来说就是UTF-8(每个汉字3字节),如果应用需要处理英文,仅少量汉字使用UTF8更好(中英文混合). 2.如果只需要支持中文,并且数据量很大,性能要求也较高,可选择GBK(定长:每个汉字占双字节,英文也占双字节),如果需要大量运算,如:比较排序,定长字符集,更快,性能更高. 3.处理移动互联网…
原创作品,出自 "深蓝的blog" 博客,欢迎转载.转载时请务必注明下面出处,否则追究版权法律责任. 深蓝的blog: http://blog.csdn.net/huangyanlong/article/details/40213133 以实验范例的形式演示LINUX操作系统字符集知识.用实践加深理解. [实验演示] 例1:字符集相关查看 [root@xckydb sysconfig]# cat /etc/issue --查看系统版本号 CentOS release 5.6 (Fina…
最初的unicode编码是固定长度的,16位,也就是2两个字节代表一个字符,这样一共可以表示65536个字符.显然,这样要表示各种语言中所有的字符是远远不够的.Unicode4.0规范考虑到了这种情况,定义了一组附加字符编码,附加字符编码采用2个16位来表示,这样最多可以定义1048576个附加字符,目前unicode4.0只定义了45960个附加字符. Unicode只是一个编码规范,目前实际实现的unicode编码只要有三种:UTF-8,UCS-2和UTF-16,三种unicode字符集之间…
链接:http://www.cnblogs.com/zl0372/p/unicode.html 链接:http://www.unicode.org/ 链接:https://zh.wikipedia.org/wiki/Unicode%E5%AD%97%E7%AC%A6%E5%88%97%E8%A1%A8#%E9%98%BF%E6%8B%89%E4%BC%AF%E5%AD%97%E6%AF%8D 链接:https://zh.wikipedia.org/wiki/%E4%B8%AD%E6%97%A5%…
字符集&&排序规则 字符集是针对不同语言的字符编码的集合,比如UTF-8字符集,GBK字符集,GB2312字符集等等,不同的字符集使用不同的规则给字符进行编码排序规则则是在特定字符集的基础上特定的字符排序方式,排序规则是基于字符集的,是对字符集在排序方式维度上的一个划分.排序规则是依赖于字符集的,一种字符集可以有多种排序规则,但是一种排序规则只能基于某一种字符集的比如中文字符集,也即汉字,可以按照“拼音排序”.“按姓氏笔划排序”等等.而对于英语,就没有“拼音”和“姓氏笔画”,但是可以分为区…
1:事情是这样的,我下载了一个mysql5.6.34版本(windows版本的),下载下来后里面只有个my-default.ini,然后我就直接在my-default.ini 里面配置basedir,datadir,port. 2:然后我的javaweb程序连接数据库后,出现了中文乱码问题,我就来配置mysql的字符集. 3:我在my-default.ini配置结果如下:   [client]   default-character-set=utf8       [mysql]   defaul…
需求描述: mysql数据库支持很多字符集,那么如何查看当前的mysql版本中支持的或者说可用的字符集有什么呢? 操作过程: 1.使用show character set的方式获取当前版本中支持的字符集 mysql> select version(); #查看当前的数据库版本. +------------+ | version() | +------------+ -log | +------------+ row in set (0.00 sec) mysql> show character…
http://bbs.csdn.net/topics/390097514 gbk页面插入数据到utf8表,然后取出到gbk页面 首先, 这个set names x等价于SET character_set_client = x; SET character_set_results = x; SET character_set_connection = x;而这3个设置决定了不同阶段的字符集 ------------------------------------ 如果不加set names utf…
执行 select * from travelrecord ,分析Debug日志,说明整个执行逻辑,包括连接获取,连接同步信息,数据合并,数据返回,连接释放 新增一个分片表 T_VOTE (ID,PROVINCE),PROVINCE用hash分片 ,并用reload命令方式重载生效, 截图和文字说明整个过程. MySQL Server里Server端字符集UTF8情况下,当客户端字符集配置为latin 与UTF8的情况下,,通过MySQL客户端登录Mycat,执行select操作,通过日志分析,…
http://www.lanceyan.com/tech/arch/web_luanma.html记得刚做javaweb开发的时候被这个编码问题搞得晕头转向,经常稀里糊涂的编码正常了一会编码又乱了.那个时候迫于项目进度大多都是知其然不知其所以然.后来有时间就把整个体系搞了个遍,终于摸通了来龙去脉. 在C++的CGI开发时大家喜欢用latin,这个属于字节方式的编码格式,存储mysql节约空间,而C++也是比较容易控制到byte级别的语言.所以经过框架封装基本也问题不大. 在Java语言中,要涉及…
原文地址:http://blog.csdn.NET/xzl04/article/details/6307416 0000-007F:C0控制符及基本拉丁文 (C0 Control and Basic Latin) 0080-00FF:C1控制符及拉丁文补充-1 (C1 Control and Latin 1 Supplement) 0100-017F:拉丁文扩展-A (Latin Extended-A) 0180-024F:拉丁文扩展-B (Latin Extended-B) 0250-02AF…
目录 在wiki中,很多语言的字符集都包含了Basic Latin,一开始我没有细看,以为Basic Latin里面都是正常的字符集,后来在线上环境出现了问题 博主某天接到一个需求,需要过滤出某国语言的字符集(避免出现Unicode中的不可见字符),于是高高兴兴的在维基百科上找到该语言字符集抄了下来 嗯,于是,线上环境出了一点小问题,由于我们某些功能是依赖于Basic Latin里面的特殊字符来做分割的,博主过于年轻,没有细看,于是翻车,卒,享年22岁. 先看看Basic Latin里面到底是什…
其实按照MariaDB官网的步骤来安装MariaDB特别的简单,只要按照步骤来做,很容易就搞定了. 首先,到MariaDB官网: https://downloads.mariadb.org/mariadb/repositories/#mirror=qiming&distro=Ubuntu&distro_release=precise&version=5.5 在下面的菜单中,选择你的系统,版本,和你要安装的MariaDB的版本, 然后就会发现下面出现了具体的安装步骤,按照步骤做就很简…
引言       unicode是全世界统一的编码规则,但只规定了各种字符的数字编码(官网:www.unicode.org),具体实现的存储方式有utff-8,utf-16,utf-32等形式,各种形式有不同的存储和与unicode代码的映射规则. 中文字符范围Unicode CJK 的范围分布在多个区段中,带有 CJK 的区块名中都拥有汉字.但最常用的范围是 U+4E00-U+9FA5,即名为:CJK Unified Ideographs 的区块,但 U+9FA6-U+9FFF 之间的字符还属…
ylbtech-HTML-参考手册: HTML 字符集 1.返回顶部 1. HTML 字符集 HTML 字符集 如需正确地显示 HTML 页面,浏览器必须知道使用何种字符集. 万维网早期使用的字符集是 ASCII.ASCII 支持 0-9 的数字,大写和小写英文字母表,以及一些特殊字符. 完整的 ASCII 参考手册. 由于很多国家使用的字符并不属于 ASCII,现代浏览器的默认字符集是 ISO-8859-1. 完整的 ISO-8859-1 参考手册. 如果网页使用不同于 ISO-8859-1…
计算机起初是设计用来做数学计算的,Computer 一词英文原意是"计算员"--在计算机发明之前,计算员是一个独立的职业,专门做各种数学用表的计算,如测量和天文领域的三角函数表.对数表,航海领域的航海天文历等. 计算机发明后不久,人们发现,这玩意除了能当计算员,还能当文员,用来处理人类社会的非数字信息.然而,计算机在设计上是只认识数字的(具体说是只认识二进制数字),要想让它能够识别并处理人类符号,就必须采取某种翻译手段,在计算机的二进制数字和人类的符号之间做双向转换. 这种字符-数字的…
前面<字符集编码(上):Unicode 之前>我们讲了在二十世纪九十年代 Unicode 出现之前各厂商和标准化组织为了应对不同语言文字的编码需求而设计了各种互不兼容的字符集编码标准,这使得软硬件开发商在处理多语言环境时相当棘手.为了解决字符集编码各自为政的乱象,一些利益相关公司开始凑到一起试图设计一种新型的.可囊括全世界所有字符的统一编码标准. 开端 1987 年,苹果(Apple)和施乐(Xerox)两家公司的三个技术人员凑到一起,着手研究开发通用字符集的可行性.在 1987 年末到 19…
沉寂了许久(大概有三个多月了吧),LZ"按捺不住"开始写博了! java编码中的中文问题是一个老生常谈的问题了,每次遇到中文乱码LZ要么是按照以前的经验修改,要么则是baidu.com来解决问题.阅读许多关于中文乱码的解决办法的博文后,发现对于该问题我们都(更加包括我自己)没有一个清晰明了的认识,于是LZ想通过这系列博文(估计只有几篇)来彻底分析.解决java中文乱码问题,如有错误之处望各位同仁指出!当然,此系列博文并非LZ完全原创,都是在前辈基础上总结,归纳,如果雷同纯属借鉴-- 问…
好记心不如烂笔头,很多东西当时没记下来,过了就忘了,下次用到时又得浪费好多时间才能解决.今天又遇到修改MySQL默认字符集编码的问题,折腾了半天解决了,赶快记录下来,以后就不用每次折腾了. 查看MySQL字符集的命令是“show variables like '%char%';”. 以MySQL5.6为例,默认的字符集为: 在工作中需要将字符集全部修改为utf8. 以下是修改的方法: 1.打开安装目录,默认在“C:\Program Files\MySQL\MySQL Server 5.6”, 2…
首先,MySQL的字符集问题主要是两个概念,一个是Character Sets,一个是Collations,前者是字符内容及编码,后者是对前者进行比较操作的一些规则.这两个参数集可以在数据库实例.单个数据库.表.列等四个级别指定. 对于使用者来说,一般推荐使用utf8编码来存储数据.而要解决乱码问题,不单单是MySQL数据的存储问题,还和用户的程序文件的编码方式.用户程序和MySQL数据库的连接方式都有关系. 首先,MySQL有默认的字符集,这个是安装的时候确定的,在编译MySQL的时候可以通过…
前阵子给以同事导oracle数据库,但是发现导入后数据都是乱码,下面是自己解决这个问题的一些小整理. 比如: #su oralce $export ORACLE_SID=orcl $export ORACLE_HOME=/db/oracle/product//db_1 $cd $ORACLE_HOME $cd bin $./sqlplus /nolog SQL> conn / as sysdba; SQL> shutdown immediate; SQL> startup mount S…
查看 Oracle 服务器字符集 select userenv('language') from dual; 设置Oracle客户端字符集 添加环境变量NLS_LANG 值与服务器的Oracle服务器字符集保持一致即可…
此问题发生在数据库迁移过程中.源数据库:自己笔记本上win7 64位系统的oracle11g个人版,字符集ZHS16GBK :目标数据库,HP的sqlserver2008 系统 64位数据库服务器,字符集AL32UTF8 . 今天下午在部署HP的一台数据库服务器时,装的oracle11g 企业版默认字符集为AL32UTF8, 而我本地电脑装的oracle11g 个人版数据库字符集server端默认是ZHS16GBK,所以在我把我本机导出的数据库.dmp文件导入到Hp的数据库时,报 imp错误并且…
1.登录sys关闭服务 [oracle@t-e ~]$ export ORACLE_SID=kamiltest1 [oracle@t-e ~]$ sqlplus / as sysdba SQL>shutdown immediate ; 2.修改字符集 SQL > startup mount ; SQL > alter system enable restricted session ; SQL > alter system set JOB_QUEUE_PROCESSES=; SQL…