精华内容
下载资源
问答
  • latin1-to-utf8mb4-源码

    2021-05-18 12:51:43
    拉丁文1utf8mb4 不幸的是,没有单一的主要解决方法可以解决字符集的问题。 存在许多不同的问题,并且有许多解决这些问题的方法。 这套小的代码是用于试用的,尽管它可以完成工作,但是有更好的解决方案。 只需...
  • l1u8recode 是一个简单的实用程序,用于将文件从 ISO-8859-1 (latin1) 重新编码为支持混合编码和/或格式的 UTF8。 它能够处理这两种特殊情况: 重新编码可以应用于输入的分隔部分。 适用于包含文本和二进制数据的...
  • ASCII, LATIN1, UTF8 简介

    千次阅读 2018-05-02 09:28:38
     如果只考虑各个编码单字节的外围:ASCII(0-127), LATIN1(0-255), UTF8(0-253), 一个UTF8编码的字符串也能被保存为LATIN1文件,但显然是乱码的。反过来,LATIN1编码的文件是无法存为一个UTF8的文件,因为一个大于 ...

    转载:http://blog.csdn.net/allen5200/article/details/6319832

    ASCII-American Standard Code for Information Interchange
    • Character repertoire: 
      ASCII 严格来讲就是7个bit大小的字符集,也就是code point介于0-127之间的字符集合。
    • Character code: 
      32-126之间的字元是可打印字元,其他是控制字元。
    • Character encoding: 
      ASCII可以没有任何编码就可以在计算机中用一个字节表示,也就是每个code point被表示成等价的单字节二进制形式。

    LATIN1-8bit sing byte coded graphic character sets.

    • Character repertoire:
      Aka ISO-8859-1。是7bit ASCII 字元集的扩充的一种,是8个bit大小的字符集,也就是code point 介于0-255之间的字符集和。
    • Character code:
      包含有191个可打印字符,其余是控制字符或者扩展的欧洲特殊字符。
    • Character encoding:
      与ASCII相似, 每个code point被表示成等价的单字节二进制形式。

    UTF8-8bit Unicode Transfer Format

    • Character repertoire:
      包含世界上大部分书写系统的使用的字符,大概1百万个code point (1,114,112 = 220 + 216 )。
    • Character code:
      2,684个保留字符。 98893个图形字符。 435个控制,格式化等特殊用途的字符 。
    • Character encoding:
      是针对Unicode的一种变长的字符编码。能表示Unicode标准中任意一个字符。 UTF8可以将一个字符编码乘1到4个字节大小来表示。

    1. 128US-ASCII 字符需要一个字节(U+0000-U+007F)

    2. 对于带有区分符号的Latin字母和来自西欧的字符需要两个字节(U+0080-U+7FF)

    3. BMP其他的字符需要3个字节

    4. Non-BMP的其他字符需要4个字节。




    ASCII, LATIN1, UTF8 关系:

        为了向后兼容, Unicode分配128ASCII和256 LATIN1字符的code point没有改变,与它们在ASCII和Latin1的code point 相同。 因此一个只包含ASCII字符的UTF8文件等同于ASCII文件。 同理,每个正确编码的ASCII文件也是有效地UTF8文件。对于12-256的LATIN1字符,因为其编码的特殊性-UTF8需要2个字节来表示一个 LATIN1字符,也就是二者编码的文件当然不能等价。

         如果只考虑各个编码单字节的外围:ASCII(0-127), LATIN1(0-255), UTF8(0-253), 一个UTF8编码的字符串也能被保存为LATIN1文件,但显然是乱码的。反过来,LATIN1编码的文件是无法存为一个UTF8的文件,因为一个大于 253的字符在UTF8中是不存在的。

    展开全文
  • python-latin1-to-utf8 将错误的 Latin-1 字符转换为 UTF-8 字符。 是对编码问题的全面描述和解释。 用法 $ python latin1-to-utf8.py Automática > Automática 相关项目
  • ASCII编码采用单字节(8 Bit)存储,实际数据存储空间是7 Bit,最高位的1 Bit是奇偶校验位。 ASCII编码对于英语国家足够用了,但是却无法表达非英语国家字符到计算机编码之间的映射,如中文汉字、法语字母等。所以,...

    .ASCII编码
    ASCII码实现的是大小写英文字母,阿拉伯数字,及常用的标点符、运算符、控制字符(换行、删除等)和通信字符(文头、确认等)与计算机编码之间的对应。ASCII编码采用单字节(8 Bit)存储,实际数据存储空间是7 Bit,最高位的1 Bit是奇偶校验位。

    ASCII编码对于英语国家足够用了,但是却无法表达非英语国家字符到计算机编码之间的映射,如中文汉字、法语字母等。所以,出现了很多非ASCII编码(但大多数都是兼容ASCII码的)。

    2.Latin1编码
    Latin1是ISO-8859-1的别名,有些环境下写作Latin-1。Latin1编码是单字节编码,向下兼容ASCII,其编码范围是0x00-0xFF,0x00-0x7F之间完全和ASCII一致,0x80-0x9F之间是控制字符,0xA0-0xFF之间是文字符号。

    ASCII编码是一个7位的容器,ISO-8859-1编码是一个8位的容器。

    因为Latin1编码范围使用了单字节内的所有空间,在支持Latin1编码的系统中传输和存储其他任何编码的字节流都不会被抛弃。换言之,把其他任何编码的字节流当作Latin1编码看待都没有问题。这是个很重要的特性,MySQL数据库默认编码是Latin1就是利用了这个特性。

    3.Unicode编码
    世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。

    可以想象,如果有一种编码,将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,那么乱码问题就会消失。这就是Unicode。

    Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样需要注意的是,Unicode只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何存储。

    如果所有字符都按照最大存储空间存储,那必然会浪费很大的空间,比如所有字符都按照3字节存储,但是英文字母只需要一个字节存储就够了,就等于说一个Unicode编码的英文文档是ASCII编码文档存储空间的三倍。 
    所以,便有了变长编码—-UTF-8。

    4.UTF-8编码
    UTF-8就是在互联网上使用最广的一种Unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。

    UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。如ASCII编码的内容UTf-8中就是用一个字符存储的。

    5. GBK编码
    GBK编码是在GB2312-80(也称作GB2312,GB码)标准基础上的内码扩展规范,使用了双字节编码方案。
    参考文章:https://blog.csdn.net/l464373218/article/details/50946131
     

    展开全文
  • MySQL字符集LATIN1UTF8

    2019-05-23 16:53:30
    导出表结构 ...1. mysqldump -uroot -p --default-character-set=utf8 -d databasename > db.sql 2. 修改db.sql内的字符集设置(notepad++编辑) ENGINE=MyISAM DEFAULT CHARSET=latin1; 修改为...

    转载自: http://www.ttlsa.com/html/79.html

    导出表结构

    1. mysqldump -uroot -p --default-character-set=utf8 -d databasename > db.sql

    2. 修改db.sql内的字符集设置(notepad++编辑)
    ENGINE=MyISAM DEFAULT CHARSET=latin1;
    修改为
    ENGINE=MyISAM DEFAULT CHARSET=utf8;

    3. 导出数据
    mysqldump.exe -uroot -p --quick --no-create-info --extended-insert --default-character-set=latin1 databasename >data.sql
    //--default-character-set=latin1,使得导出的数据时中文,而不是乱码,当初改成utf8的做法是错误

    4. 修改data.sql
    set names latin1;
    改为
    set names utf8;//使得客户端和链接使用utf8格式,使得数据以utf8的形式存储

    5. 创建数据库
    create database databasename default charset utf8;

    6. 导入表结构

    mysql -uroot -p databasename < db.sql

    7. 导入表数据
    mysql -uroot -p databasename < data.sql

    备注:原理流程
    1、导出表结构,把latin1结构替换成utf8
    2、用原有的latin1导出数据,并且将set names替换成utf8格式
    3、创建数据库,默认字符集改成utf8
    4、导入表结构、数据

    展开全文
  • mySQL数据库latin1-gbk,gbk-utf8,gbk-big5 博文链接:https://kenter1643.iteye.com/blog/121594
  • Mysql中utf8_general_ci与utf8_unicode_ci有什么区别呢?在编程语言中,通常用unicode对中文字符做处理,防止出现乱码,那么在MySQL里,为什么大家都使用utf8_general_ci而不是utf8_unicode_ci呢?
  • NULL 博文链接:https://lijunjie.iteye.com/blog/456650
  • java mysql的latin1UTF-8

    千次阅读 2016-11-25 15:38:55
    System.out.println(new String(s.getBytes("ISO-8859-1"), "UTF-8")); 尝试过以后,完全不好使。 下面方法亲测有效:sql语句正常写,不需要添加use name,得到的string用以下函数转换 public String ...

    网上大部分方法:先use  name latin;然后再

    System.out.println(new String(s.getBytes("ISO-8859-1"), "UTF-8"));

    尝试过以后,完全不好使。


    下面方法亲测有效:sql语句正常写,不需要添加use name,得到的string用以下函数转换

    public String convertCharset(String s) {
    		if (s != null) {
    			try {
    				int length = s.length();
    				byte[] buffer = new byte[length];
    				// 0x81 to Unicode 0x0081, 0x8d to 0x008d, 0x8f to 0x008f, 0x90
    				// to 0x0090, and 0x9d to 0x009d.
    				for (int i = 0; i < length; ++i) {
    					char c = s.charAt(i);
    					if (c == 0x0081) {
    						buffer[i] = (byte) 0x81;
    					} else if (c == 0x008d) {
    						buffer[i] = (byte) 0x8d;
    					} else if (c == 0x008f) {
    						buffer[i] = (byte) 0x8f;
    					} else if (c == 0x0090) {
    						buffer[i] = (byte) 0x90;
    					} else if (c == 0x009d) {
    						buffer[i] = (byte) 0x9d;
    					} else {
    						buffer[i] = Character.toString(c).getBytes("CP1252")[0];
    					}
    				}
    				String result = new String(buffer, "UTF-8");
    				return result;
    			} catch (UnsupportedEncodingException e) {
    				e.printStackTrace();
    			}
    		}
    		return null;
    	}


    展开全文
  • 但随着各种业务的进一步发展,除了各个国家的本身语言字符,经常也会有一些表情符号出现在应用程序中,而在mysql 5.5 之前,UTF-8编码只支持1-3个字节,支持BMP这部分的Unicode编码区;从MySQL 5.5开始,可以支持4个...
  • 问题:不允许重新启动的生产环境出现字符集设置不对,如何从默认的latin1修改为utf8生产环境正确做法和步骤:1.在配置文件my.cnf中 [client] 增加 default-character-set =utf8 ,会立即对本机上的新创建连接生效2.在...
  • 如果在建立数据库的时候,DEFAULT CHARSET = utf8 那不会出什么问题,但如果设置是 DEFAULT CHARSET = latin1 就会出现一些问题,不巧的是,很多 MySQL 数据库的默认编码设置就是 latin1。 如果数据库的默认
  • 查看数据库字符集状态:show VARIABLES like '%char%'查看结果:character_set_client utf8 character_set_connection utf8 character_set_database utf8 character_set_filesystem binary character_set_results utf...
  • latin1utf8的方法

    万次阅读 2013-06-24 15:46:30
    mysql 默认的代码是latin1我喜欢 utf8多国语言都靠他了,刚开始学没注意 EMS MYSQL 乱码我才知道 latin1utf8 了 看到的全是 鸭子虫,乱码让我蛋疼 我用 ezSQL so $db->query("set names utf8"); 你们懂的 ...
  • mysql字符编码问题latin1utf8

    千次阅读 2015-12-09 13:18:28
    hadoop集群某节点的环境是utf8,java代码也是utf8编码 b. 需要读取的mysql服,数据库、数据表均是latin1 方法及结果 运行mysql -u* -p* -A -h 进入mysql服 1. 先在mysql下确认原始数据是什么编码,经过下面三步...
  • MySQL字符集 GBK、GB2312、UTF8区别 解决MYSQL中文乱码问题   MySQL中涉及的几个字符集 character-set-server/default-character-set:服务器字符集,默认情况下所采用的。 character-set-database:数据库字符集...
  • 问题描述:原始创建的数据库和表都是CHARSET=latin...原因分析:由于原始导出的.sql文件中的CHARSET都是 Latin1格式,在导出时,指定格式--default-character-set=utf8并不管用 我是直接将.sql 脚本文件中的字符编码格
  • encoding-fixlatin:CPAN模块:修复UTF8数据中的Latin-1和CP1252字符
  • 在笔者的数据库最为常用的是latin1utf8,由于项目的整合,字符的要求也开始规范,统一为utf8,那么就需要把之前的latin1字符转换成才utf8格式,那样才不会出现乱码的情况。已有的记录的字符集调整,需要先将数据...
  • mysql移置之将latin1编码更换为utf-8编码 由 ADMIN · 发布日期 2011年05月23日 · 已更新 2011年09月5日  mysql移植含有中文的数据时,很容易出现乱码问题。很多是在从mysql4.x向mysql5.x...
  • Encoding Latin1 To UTF8

    千次阅读 2016-08-30 15:25:09
    encoding Latin1 To UTF8string& encodingLatin1ToUTF8(const char* src, string& dst) { dst.resize(strlen(src) * 2 + 1); int j = 0; while (*src) { unsigned char c = (unsigned char)*src;
  • UTF8 ASCII Latin1转换问题

    千次阅读 2016-03-10 11:40:43
    查了很多文章都是让服务器使用utf8,这里介绍一种客户端的解决方法。 首先对中文字符串格式化输出成2位十六进制字符,然后将这些字符组成string,新的string使用Latin1进行Encoding就不会发生数据丢失的问题了。...
  • 举例:mysql数据库dnname采用默认的latin1字符集,系统升级需要将所有数据转换成utf-8格式,目标数据库为newdbname(建库时使用utf8) 方法一: 步骤一 命令行执行:mysqldump --opt -hlocalhost -ur
  • utf8 [mysql] default -character-set= utf8 [mysqld] character_set_server = utf8 sql_mode =NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES       二、临时方法,一次重启mysql就失效     ...
  • MySQL8.0.17默认字符集latin1utf8

    千次阅读 2019-08-02 19:05:00
    MySQL的默认字符集一直是latin1,虽然说支持中文字符,但是对于使用汉语的中国程序员来说很不友好,接下来就说一下怎么改mysql的默认字符集 vim /etc/mysql/my.cnf:编辑mysql配置文件,(我的是Linux系统,mysql...
  • MySQL编码latin1utf8

    千次阅读 2017-08-15 01:15:15
    mysql移植含有中文的数据时,很容易出现乱码问题。很多是在从mysql4.x向mysql5.x移植的...那么我们的任务是不是要 把数据中的字符从latin1转为utf8呢?  不是的。  用一句不大准确,但又比较形象的说法是,在

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 50,261
精华内容 20,104
关键字:

latin1utf8的区别