字符集

七、MySQL中的字符集

夙愿已清 提交于 2020-04-30 20:52:54
什么是字符集? 计算中的字符文字集合(每个自负文字分配一个对应的数字),将字符集中的文字符号进行编码以便于计算机识别处理。 字符编码就是如何在计算机中存储表示字符集中每个字符文字对应的数字。 发展历程 ASCII与字符集混乱时代 20世纪60年代初,美国标准化组织ANSI发布了第一个字符集 ASCII 后来演变成了国际标准 ISO-646。 ASCII采用7位编码,包含大小写英文字母、阿拉伯数字和标点以及33个控制符号。 之后制定的字符集大部分都兼容ASCII编码。 随后各国、个公司纷纷制定自己的字符集标准,比如:GBK、GB2312-80、ISO-8859系列等。到了20世界80年代,大家都崩溃了。。。这么多字符集很难进行软件国际化,然后大家就想着能不能统一字符编码。 Unicode 为了统一这个字符集,1984年ISO的一些成员国开始发起制定新的国际字符集标准,用来容纳世界各国的语言文字,然后UCS(ISO-10646)诞生了。 但是这个UCS遭到了美国很多计算机公司的反对,1988年联合微软、苹果、IBM、SUN等公司成立Unicode 协会,并于1991年推出Unicode1.0。 然后ISO和Unicode协会为了统一编码标准,1991年10月达成协议,ISO将Unicode编码并入UCS的0组0面中(简称为BMP,UCS编码划分为group、plane、row、cell

查看和设置MySQL数据库字符集

天大地大妈咪最大 提交于 2020-04-10 15:24:54
1.查找MySQL的cnf文件的位置---find / -iname '*.cnf' -print /system_bak/current/my.cnf /home_bak/current/wilbur/workspace/ice/IceE-trans-1.1.0/config/ice_ca.cnf /usr/share/mysql/my-small.cnf /usr/share/mysql/my-large.cnf /usr/share/mysql/my-innodb-heavy-4G.cnf /usr/share/mysql/my-huge.cnf /usr/share/mysql/my-medium.cnf /usr/share/texmf/web2c/mktex.cnf /usr/share/texmf/web2c/texmf.cnf /usr/share/texmf/web2c/fmtutil.cnf /usr/share/ssl/openssl.cnf /usr/share/doc/packages/MySQL-server/my-small.cnf /usr/share/doc/packages/MySQL-server/my-large.cnf /usr/share/doc/packages/MySQL-server/my-innodb-heavy-4G.cnf

Sybase更换字符集(cp850-->cp936)

╄→гoц情女王★ 提交于 2019-12-23 20:13:09
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 修改的操作步骤 Sybase server 名:eastsoftcourt (在Dsedit中设置) Sybase sa 的口令:sybase 生产库名:escourt6 操作的目录:d:\sybase 1 、停止数据库服务器对外服务,注意并不是停止你的服务器的服务。检查一下master库的大小,不能小于40M。 2 、备份你的数据库,注意是全部备份。建议你将你的数据库做一次DBCC。 1>dump database escourt6 to “d:\sybase\escourt6.dmp” 2>go 3 、据库的缺省字符集设置为cp936: C:\>cd sybase C:\sybase>cd charsets C:\sybase\charsets>cd cp936 C:\sybase\charsets\cp936>charset -Usa -P -Seastsoftcourt binary.srt cp936 你将看到下面的信息,表示这时你已经成功添加了cp936字符集到你的系统中。 Loading file 'binary.srt'. Found a [sortorder] section. This is Class-1 sort order. Finished loading the Character

字符集问题(Linux、oracle、终端等,导入导出数据)

被刻印的时光 ゝ 提交于 2019-12-07 16:24:40
locale的设定及其LANG、LC_ALL、LANGUAGE环境变量的区别 (转自: http://hi.baidu.com/edeed/item/c23752f36abdd916ce9f3289 ) 例如zh_CN.GB2312、zh_CN.GB18030或者zh_CN.UTF-8。很多人都不明白这些古里古怪的表达方式。这个外星表达式规定了什么东西呢?这个问题稍后详述,现在只需要知道,这是locale的表达方式就可以了。 locale这个单词中文翻译成地区或者地域,其实这个单词包含的意义要宽泛很多。Locale是根据计算机用户所使用的语言,所在国家或者地区,以及当地的文化传统所定义的一个软件运行时的语言环境。 [oracle @game ~]$ locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_PAPER="en_US.UTF-8" LC_NAME="en_US.UTF-8" LC_ADDRESS="en_US.UTF-8" LC_TELEPHONE="en_US.UTF-8" LC

有关linux与windows中文件名的编码问题总结

梦想与她 提交于 2019-12-07 14:46:15
最近在整理各种裤子,由于太大用了ntfs-3g挂载硬盘,拷贝到了centos服务器上,结果没有注意文件名的编码问题,总要修改所以说config/i18n配置文件,而且通过ssh连接要经常切换客户端的字符集,无奈,拷回硬盘上,在window上弄吧,结果,文件名出现各种乱码。。。。崩溃了。安心学习了。。。 (其中涉及到了ntfs-3g,ssh远程客户端,以及linux的/etc/sysconfig/i18n配置,没有一一测试,除了ntfs-3g不知道是否涉及字符集,其他都涉及到了,思路比较乱,想到哪写到哪了) 问题根源:由于Linux与windows采用了不同的字符集来处理中文文件名,Linux用了utf-8而windows用了gbk,进而导致文件名处理的混乱。 我的做法是: 1、利用convmv 在linux上将所有文件名编码转换为gbk,再通过ntfs-3g将文件拷到移动硬盘,最后拷回电脑,在windows上能够正常显示。 2、处理文件 3、将文件拷回linux 4、利用convmv将文件名转回utf8 由于习惯了在windows上开发, 想自己写一个py脚本实现在windows上将文件名字符编码进行转换的功能,但是马上问题就出现了。 下面请看: def conv_gbk_to_utf8(path): if os.path.exists(path): print

字符集与编码(八)——ASCII和ISO-8859-1

谁都会走 提交于 2019-12-07 03:44:10
在前面其实也谈到了ASCII了,但并没有很具体,作为一个完整系列的一部分,还是有必要谈一下,也作为后面讨论的一些基础。 ASCII 它的全称是 A merican S tandard C ode for I nformation I nterchange(美国信息交换标准代码),是一个7位字符编码方案。下面是它的一张简图(来自 http://www.asciitable.com/index/asciifull.gif ): ASCII定义了128个字符,包括33个不可打印的 控制字符(non-printing control characters) 和95个可打印的字符。 控制字符 32以下的及最后一个127是所谓的控制字符。(0x00~0x1F以及0x7F) 即上图最左边一列的32个字符及最右边一列最后的一个字符(DEL,删除) 熟悉的有0x09(TAB,horizontal tab,水平制表符),0x0A(LF,line feed,’\n’换行符),0x0D(CR,carriage return,’\r’回车符),其它的很多现在已经是废弃不用了。 关于回车换行(‘\r\n’),在屏幕还不普及的时代,结果输出经常是依赖于所谓的电传打印机, 打印头 沿着打印杆从左向右移动并打印出一个个字符,当碰到一个回车符时(CR,0x0D,’\r’),打印机就指示打印头重新回到最左边的位置上

Eclipse更改默认字符集 设置UTF-8(转)

只谈情不闲聊 提交于 2019-12-01 01:39:46
eclipse 中UTF-8设置 1.windows->Preferences 打开"首选项"对话框; 2.然后,general->Workspace,右 侧Text file encoding,选择Other,改变为UTF-8。 3.Web->打开,把CSS、HTML、JSP、JavaScript、XML等设置为UTF-8。 或在这里更改, general->Content Types, 右侧Context Types树,点开Text,选择Java Source File,在下面的Default encoding输入框中输入UTF-8,点Update,则设置Java文件编码为UTF-8。其他如果需要更改,方法一样。 4.java->Installed JREs. 移除原来Eclipse自带的Jdk6.0,从新配置Jdk1.6.0_06(Add:在C盘,Programe里的Java文件下。C:\Program Files\Java) 另外, myeclipse 中UTF-8设置 同样, 1Window选项下---preferences选项; 2打开preferences->General->workspace,设置UTF-8; 3同样是preferences->MyEclipse->Files and Editors ->CSS、HTML、JSP、JavaScript

字符集与编码(一)——charset vs encoding

﹥>﹥吖頭↗ 提交于 2019-11-29 13:39:23
注:由于两边同步的麻烦,更多更改及调整可参考我的网站: xiaogd.net 上的 字符集编码与乱码系列 ,已将字符集编码系列与乱码探源系列合并,更新及勘误等不再更新到这边。 许多时候,字符集与编码这两个概念常被混为一谈,但两者是有差别的,作为深入理解的第一步,首先要明确: 字符集 与 字符集编码 是两个不同层面的概念 charset是character set的简写,即 字符集 。 encoding是charset encoding的简写,即 字符集编码 ,简称 编码 。 与接口及接口实现的对比 可以把这两者与 接口 及 接口实现 做个对比: 从这里可以很清楚地看到, 编码是依赖于字符集的,就像代码中的接口实现依赖于接口一样; 一个字符集可以有多个编码实现,就像一个接口可以有多个实现类一样。 具体例子及规范用法 可以简单看两个例子,一个自于html文件,用的是charset: <meta http-equiv="content-type" content="text/html;charset=utf-8"> 另一个来自于xml文件,用的是encoding: <?xml version="1.0" encoding="UTF-8"?> 哪一种用法更规范呢?显然是后者,它更加准确地区分了字符集与编码的概念。 “charset=utf-8”容易让人误解为存在一种叫“UTF-8”的字符集

secureCRT遇到过的问题

南笙酒味 提交于 2019-11-27 08:30:35
中文输入乱码成问号 定制securtCRT主题时, 莫名其妙的中文输入全部变成了 问号字符 。 网上所有解决方案无效, 绝不可能是网上说的linux系统默认编码设置问题, securtCRT也已经设置为UTF8编码了。 反复试验, 最终才发现问题所在,原来是 字体问题 。 定制主题期间曾经换过字体, 然而那个字体不支持中文字符集。 具体如图, 一定要选择支持中文字符集的字体: 这个楷体支持中文字符集GB2312, 这和你的linux的utf8默认设置不冲突, 这里的GB2312是secureCRT终端的输入字符集。 这个字体就没有中文字符集的支持了, 所以你在secureCRT中输入中文时, 字符都会变成问号, 因为此时终端工具无法识别中文。 按键失效 可能的解决方案: 菜单-》全局选项-》默认会话-》终端-》仿真 选择 linux终端 推荐主题配色 配色,备份并覆盖securtCRT的Color Schemes.ini文件: B:"单色"=00000044 00 01 01 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff 00 ff ff ff