utf8

字符集 ---转

走远了吗. 提交于 2020-02-08 05:50:15
字符集:简单的说字符集就规定了某个文字对应的二进制数字存放方式(编码)和某串二进制数值代表了哪个文字(解码)的转换关系;字符集只是一个规则集合的名字,就相当于 英语,汉语。一个字符集要正确编码转码一个字符需要三个关键元素:字库表,编码字符集,字符编码。 字符集 16进制编码 对应的二进制数据 UTF-8 0xE5B18C 1110 0101 1011 0001 1000 1100 UTF-16 0x5C4C 1011 1000 1001 1000 GBK 0x8CC5 1000 1100 1100 0101 字库表:相当于所有可读或者可显示字符的数据库,字库表决定了整个字符集能够展现标示所有字符的范围 编码字符集:即用一个编码值code point来标示一个字符在字库中的位置。 字符编码:将编码 字符集和实际存储数值之间的转换关系。 一般来说都会直接将code point的值作为编码后的值直接存储。 UTF-8和Unicode的关系就比较简单了。Unicode就是上文中提到的编码字符集,而UTF-8就是字符编码,即Unicode规则字库的一种实现形式。随着互联网的发展,对同一字库集的要求越来越迫切,Unicode标准也就自然而然的出现。它几乎涵盖了各个国家语言可能出现的符号和文字,并将为他们编号 如何识别乱码的本来想要表达的文字

Java 14 有哪些新特性?

白昼怎懂夜的黑 提交于 2020-02-05 19:35:51
记录为 Java 提供了一种正确实现数据类的能力,不再需要为实现数据类而编写冗长的代码。下面就来看看 Java 14 中的记录有哪些新特性。 作者 | Nathan Esquenazi 译者 | 弯月,责编 | 郭芮 以下为译文: Java 14 即将在 2020 年 3 月正式发布。 Java 以 6 个月作为新版本的发布周期,和之前的版本发布一样,JDK 14 预计将在语言本身和 JVM 级别上带来一些新特性。 如果我们看一下特性列表,我们会注意到一些开发者非常期待的语言特性:记录 (records)、 switch 表达式(在 JDK 13 中就已经存在,不过仅仅是预览模式),模式匹配。下面让我们看下其中比较有趣的记录这一特性。 前提条件 我们需要 OpenJDK 网站中的 JDK 14 先期预览版本(https://jdk.java.net/14/)。 什么是一条记录? 记录表示“数据类” ,是用于保存纯数据的一种特殊的类。 其他语言中已经有类似记录的结构,比如 Kotlin 的数据类。 通过将类型声明为记录,通过类型即可表达意图,即只表示数据。 声明记录的语法比使用普通类要简单得多,普通类通常需要实现核心 Object 方法,如 equals 和 hashCode (通常称为“样板”代码)。 在对于模型类 (可能通过 ORM 持久化) 或数据传输对象 (DTOs)

springboot乱码问题

喜你入骨 提交于 2020-02-05 16:28:14
在配置文件中添加 #编码设置 spring.http.encoding.charset=UTF-8 spring.http.encoding.enabled=true spring.http.encoding.force=true server.tomcat.uri-encoding=UTF-8 使用springboot:run运行时控制台输出乱码问题,在pom文件中添加如下配置 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <!--解决maven插件启动时中文乱码问题--> <configuration> <fork>true</fork> <!-- spring-boot:run 中文乱码解决 --> <jvmArguments>-Dfile.encoding=UTF-8</jvmArguments> </configuration> </plugin> </plugins> </build> 来源: https://www.cnblogs.com/jasonboren/p/12264157.html

读cookie中文字符乱码问题

拜拜、爱过 提交于 2020-02-05 01:15:46
写cookie Cookie cookie = new Cookie("username", java.net.URLEncoder.encode(username,"UTF-8")); cookie.setMaxAge(50*60);//不设置的话,则cookies不写入硬盘,而是写在内存,只在当前页面有用,以秒为单位 response.addCookie(cookie); 读cookie Cookie cookies[] = request.getCookies(); if (cookies != null) { for (int i = 0; i < cookies.length; i++) { if (cookies[i].getName().equals("username")) { username= java.net.URLDecoder.decode(cookies[i].getValue().trim(),"UTF-8"); } } } 总结:在保存到cookie的时候要用URLEncoder.encode(username,"UTF-8"))方法保存 读的时候要用URLDecoder.decode(cookies[i].getValue().trim(),"UTF-8")方法来解码 来源: https://www.cnblogs.com/liuling

MySQL 语句正确,运行出错

半城伤御伤魂 提交于 2020-02-04 03:17:32
查看mysql数据编码 登录 MySQL 服务,查看mysql数据库默认的编码 mysql> show variables like 'character%'; +--------------------------+-------------------------------------------------+ | Variable_name | Value | +--------------------------+-------------------------------------------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | latin1 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | latin1 | | character_set_system | utf8 | | character_sets_dir | E:\0Develop\mysql-5.7.15-winx64\share\charsets\ | +-----------------------

MySQL(ORM框架)

可紊 提交于 2020-02-02 08:50:44
day63 参考: http://www.cnblogs.com/wupeiqi/articles/5713330.html SQLAlchemy本身无法操作数据库,其必须以来pymsql等第三方插件,Dialect用于和数据API进行交流,根据配置文件的不同调用不同的数据库API,从而实现对数据库的操作,如: MySQL-Python mysql+mysqldb://< user >:< password >@<host>[:<port>]/<dbname> pymysql mysql+pymysql://<username>:< password >@<host>/<dbname>[?<options>] MySQL-Connector mysql+mysqlconnector://< user >:< password >@<host>[:<port>]/<dbname> cx_Oracle oracle+cx_oracle:// user :pass@host:port/dbname[? key =value& key =value...] 更多详见:http://docs.sqlalchemy.org/en/latest/dialects/ index .html 可以连接不同的数据库。 1. ORM框架:SQLAlchemy - 作用: 1. 提供简单的规则 2.

转,敏感词过滤,PHP实现的Trie树

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-02 05:04:49
原文地址: http://blog.11034.org/2012-07/trie_in_php.html 项目需求,要做敏感词过滤,对于敏感词本身就是一个CRUD的模块很简单,比较麻烦的就是对各种输入的敏感词检测了。用Trie树来实现是比较通用的一种办法吧,之前一直没机会用过这种数据结构,正好试着写了一下。 因为用PHP实现,关联数组用的很舒服。第一个要解决的是字符集的问题,如果在Java中就比较好办统一的Unicode,在PHP中因为常用 UTF-8字符集,默认有1-4个字节不同的长度来表示一个字符,于是写了个Util类来将普通的UTF-8字符串转换成字符数组,每一个元素是一个 UTF-8串形成的字符。这一点比较容易实现的,根据UTF-8字符集的格式而来就好。 public static function get_chars($utf8_str){ $s = $utf8_str; $len = strlen($s); if($len == 0) return array(); $chars = array(); for($i = 0;$i < $len;$i++){ $c = $s[$i]; $n = ord($c); if(($n >> 7) == 0){ //0xxx xxxx, asci, single $chars[] = $c; } else if(($n >> 4)

导入wordpress数据库到mysql报错

我的梦境 提交于 2020-02-01 09:31:23
mysql字符集编码错误的导入数据会提示错误了,这个和插入数据一样如果保存的数据与mysql编码不一样那么肯定会出现导入乱码或插入数据丢失的问题,下面我们一起来看一个例子。 恢复数据库报错:由于字符集问题,最原始的数据库默认编码是latin1,新备份的数据库的编码是utf8,因此导致恢复错误。 [root@hk byrd]# /usr/local/mysql/bin/mysql -uroot -p'admin' t4x < /tmp/11x-B-2014-06-18.sql ERROR 1064 (42000) at line 292: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''[caption id=\"attachment_271\" align=\"aligncenter\" width=\"300\"]<a href=\"ht' at line 1 修复方法(未实测): [root@Test ~]# /usr/local/mysql/bin/mysql -uroot -p'admin' --default-character-set=latin1

C#保存txt为UTF8,去除BOM

我的梦境 提交于 2020-02-01 04:24:34
代码 Encoding encode = new System.Text.UTF8Encoding(false); List<Class> cles = ClassService.Instance().FindAll(); FileStream stream = new FileStream(TempPath + "\\school_class.txt", FileMode.OpenOrCreate); using (StreamWriter sw = new StreamWriter(stream, encode)) { rt.AppendText("写入文件: school_class.txt\r\n"); string title = "id\tname"; sw.WriteLine(title); rt.AppendText(title + "\r\n"); foreach (Class s in cles) { string content = s.Id + "\t" + s.Name; sw.WriteLine(content); rt.AppendText(content + "\r\n"); } } stream.Close(); 来源: https://www.cnblogs.com/jifsu/archive/2010/04/26/1721511.html

字符编码与转码

风流意气都作罢 提交于 2020-02-01 02:25:13
需知 在python2默认编码是ASCII, python3里默认是unicode 在py3中encode,在转码的同时还会把string 变成bytes类型,decode在解码的同时还会把bytes变回string 转换原则 所有的编码都需要unicode作为中介来转换 utf-8转换程gb2312 首先通过解码【decode】转换成unicode编码 其次通过编码【encode】转换成gb2312编码 gb2312转换程utf-8 首先通过解码【decode】转换成unicode编码 其次通过编码【encode】转换成utf-8编码 实战(python3) import sys , time print ( '系统默认\t' , sys . getdefaultencoding ( ) ) #系统默认编码 str = '庆余年很好看哈' #字符串的编码是unicode str_utf8 = str . encode ( 'utf-8' ) str_gb2312 = str_utf8 . decode ( 'utf-8' ) . encode ( 'gb2312' ) #通过unicode转换 str_gbk = str . encode ( 'gbk' ) print ( 'unicode\t' , str ) print ( 'utf-8\t' , str_utf8 )