utf8

sqoop导入MySQL中文乱码的问题

大城市里の小女人 提交于 2020-01-26 03:52:36
解决利用sqoop导入MySQL中文乱码的问题 cd /etc vi /etc/my.cnf 修改或者添加 [mysql] default-character-set=utf8 [client] default-character-set=utf8 [mysqld] default-character-set=utf8 character_set_server=utf8 init_connect=‘SET NAMES utf8’ 重启mysql 来源: CSDN 作者: v9ningmeng 链接: https://blog.csdn.net/weixin_44188196/article/details/103757612

文件处理file handling

家住魔仙堡 提交于 2020-01-26 03:13:29
#1. 打开文件,得到文件句柄并赋值给一个变量 #2. 通过句柄对文件进行操作 #3. 关闭文件 #1、open函数打开文件,open找的是系统的编码gbkf = open("陈粒",encoding="utf-8") #打开文件指定编码data = f.read() #读的模式print(data)f.close() #关闭文件f = open("xxx")data = f.read()print(data)f.close()#2、r是读的方式,readable是判断是否可读f = open("陈粒","r",encoding="utf-8")print(f.readable()) ##3、readline默认一次读取一行f = open("陈粒",encoding="utf-8")print("第一行",f.readline(),end="")print("第二行",f.readline(),end="")print("第三行",f.readline(),end="")print("第四行",f.readline(),end="")print("第五行",f.readline(),end="")print("第六行",f.readline(),end="")print("第七行",f.readline(),end="")f.close()print("读的模式已结束")#4

Python之文件操作

痞子三分冷 提交于 2020-01-26 03:13:10
open函数 1、打开文件的方式 打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。 打开文件的模式有: r , 只读模式【默认】 w, 只写模式【不可读;不存在则创建;存在则清空内容;】 x, 只写模式【不可读;不存在则创建,存在则报错】 a, 追加模式【可读; 不存在则创建;存在则只追加内容;】 "+" 表示可以同时读写某个文件 r+, 读写【可读,可写】 w+,写读【可读,可写】 x+ ,写读【可读,可写】 a+, 写读【可读,可写】 "b"表示以字节的方式操作 rb 或 r+b wb 或 w+b xb 或 w+b ab 或 a+b 注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型 2.操作 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 5 # 1. r读模式 默认 6 # open是去找当前操作系统的编码 f句柄 7 f = open('xxx', 'r', encoding='utf8') 8 # data = f.read() 9 # data = f.readable() # 可读 10 # print('第一行', f.readline(), end='') 11 # print('第二行', f.readline()) 12

Python 逐行读取文件并处理

喜夏-厌秋 提交于 2020-01-26 01:08:28
文章目录 1. 逐行读取文件并处理 1. 逐行读取文件并处理 # Open a file filepath = 'D:\\temp\\test.txt' fileObj = open ( filepath , "r" , encoding = 'utf8' ) for line in fileObj . readlines ( ) : print ( line ) fileObj . close ( ) 要点说明: 文件路径如果是windows系统, 反斜杠需要转义 读取文件时, 如果文件是utf8编码的, 需要指定encoding 来源: CSDN 作者: WJ.CAI 链接: https://blog.csdn.net/laresc/article/details/103757937

浅谈mysql中utf8和utf8mb4区别

假装没事ソ 提交于 2020-01-24 20:50:22
转自:http://ourmysql.com/archives/1402 实践过程中发现有时mysql的字符集会引起故障,所以需要了解下这个知识点。 一、简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。 二、内容描述 那上面说了既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符等等。 三、问题根源 最初的 UTF-8 格式使用一至六个字节,最大能编码 31 位字符。最新的 UTF-8 规范只使用一到四个字节,最大能编码21位

utf-8 是unicode的一种实现方式

爷,独闯天下 提交于 2020-01-24 15:51:07
为了统一,发明了unicode,将世界上所有的符号都纳入其中,每一个符号都给予一个独一无二的编码,现在unicode可以容纳100多万个符号,所有语言都可以互通,一个网页页面里可以同时显示各国文字。但没有规定如何存储。这样导致一个后果:出现了Unicode的多种存储方式。 UTF-8以字节为单位对Unicode进行编码。从Unicode到UTF-8的编码方式如下: Unicode编码(十六进制)  UTF-8 字节流(二进制) 000000-00007F 0xxxxxxx 000080-0007FF 110xxxxx 10xxxxxx 000800-00FFFF 1110xxxx 10xxxxxx 10xxxxxx 010000-10FFFF 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx 中文在utf-8中占3or4个字节,utf8字符是变长字符,在这里补充一下uft-8的编码方式。 一字节:0******* 两字节:110*****,10****** 三字节:1110****,10******,10****** 四字节:11110***,10******,10******,10****** 五字节:111110**,10******,10******,10******,10****** 六字节:1111110*,10******,10******,10*

文件操作

回眸只為那壹抹淺笑 提交于 2020-01-24 10:17:03
文件操作: 1. r 路径有两种: 1. 相对路径, 相对于你当前程序所在的文件夹.(必须掌握) ../ 返回上一层目录 相对的是当前程序所在的文件夹 2. 绝对路径. 1.从磁盘根目录寻找. 2.互联网上的一个绝对路路径 f = open("file/wuse", mode="r", encoding="utf-8") s = f.read() f.close() # 关闭句柄 print(s) f = open("吃的", mode="r", encoding="utf-8") for line in f: # 每次读取一行. 赋值给前面的line变量 print(line) f.close()    2. w f = open("小护士模特", mode="w", encoding="utf-8") # 写入之前会情掉原来的内容 f.write("杜十娘") f.flush() f.close()    3. a f = open("小护士模特", mode="a", encoding="utf-8") # 在原来的基础上进行追加内容. f.write("小龙女") f.flush() f.close()    4. r+ 读写模式. 需要移动光标进行反复读写 f = open("老师点名", mode="r+", encoding="utf-8") # r+模式,

《QDebug 2020年1月》

梦想的初衷 提交于 2020-01-24 09:43:24
一、Qt Widgets 问题交流 1.开启UTF-8支持 qmake:CONFIG += utf8_source MSVC::/utf-8 Clang:-finput-charset=UTF-8 -fexec-charset=UTF-8(clang-cl:与MSVC相同) GCC:-finput-charset=UTF-8 -fexec-charset=UTF-8 ICC:-option,cpp,--unicode_source_kind,UTF-8(icl:/Qoption,cpp,--unicode_source_kind,UTF-8) Windows上,一般MinGW不用特别指定,MSVC需要指定,且带中文的字符串前面需要加u8,如u8"中文"。 二、Qt Quick 问题交流 1. 来源: CSDN 作者: 龚建波 链接: https://blog.csdn.net/gongjianbo1992/article/details/104078327

Java程序员们,请永远不要在MySQL中使用utf8,改用utf8mb4!

放肆的年华 提交于 2020-01-24 09:42:06
最近我遇到了一个bug,我试着通过Rails在以“utf8”编码的MariaDB中保存一个UTF-8字符串,然后出现了一个离奇的错误: Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1 我用的是UTF-8编码的客户端,服务器也是UTF-8编码的,数据库也是,就连要保存的这个字符串“ <…”也是合法的UTF-8。 问题的症结在于,MySQL的“utf8”实际上不是真正的UTF-8。 “utf8”只支持每个字符最多三个字节,而真正的UTF-8是每个字符最多四个字节。 MySQL一直没有修复这个bug,他们在2010年发布了一个叫作“utf8mb4”的字符集,绕过了这个问题。 当然,他们并没有对新的字符集广而告之。 MySQL的“utf8mb4”是真正的“UTF-8” MySQL的“utf8”是一种“专属的编码”,它能够编码的Unicode字符并不多。 所有在使用“utf8”的MySQL和MariaDB用户都应该改用“utf8mb4”,永远都不要再使用“utf8”。 那么什么是编码?什么是UTF-8? 我们都知道,计算机使用0和1来存储文本。比如字符“C”被存成“01000011”,那么计算机在显示这个字符时需要经过两个步骤: 计算机读取“01000011”,得到数字67

深入理解Java虚拟机之Class文件解析

隐身守侯 提交于 2020-01-24 04:56:19
简介 该文章是参考书籍《深入理解Java虚拟机(第2版)》整理出来的源码分析。 由于书籍的Class文件编译后和我编译后的差别很大,因此我参考了一篇博文来进行了分析,并且写明了相关注释,希望对你有帮助。 最后也放上了原博文链接,涉及的源码和Class文件,以避免你使用jdk编译后跟我的不一样。 Class文件解析 CA FE BA BE // 魔数 00 00 00 34 // 版本52(对应jdk1.8) 00 13 // 对应19,即18个常量 ( 1-18 ) // 常量池 // 第1个常量开始 0A // 第 #1类型:CONSTANT_Methodref_info 00 04 // name_index: #4 00 0F // name_index: #15 09 // 第 #2类型:CONSTANT_Fieldref_info 00 03 // name_index: #3 00 10 // name_index: #16 07 // 第 #3类型:CONSTANT_Class_info 00 11 // name_index: #17 07 // 第 #4类型:CONSTANT_Class_info 00 12 // name_index: #18 01 // 第 #5类型:CONSTANT_Utf8_info 00 01 // length: 1 6D //