• 关于 ISO-8859-1 的搜索结果

问题

【Flink】报错 Failed to encode 'xxxx' in character set 'ISO-8859-1'

李博 bluemind 2019-12-01 20:26:54 941 浏览量 回答数 1

回答

原来你是问这个.... 改成(name).getBytes("ISO-8859-1") 试试 ######回复 @yumemor : getBytes是编码,new String是解码,你这么理解就对了,如果没有参数则是默认编码(一般是UTF-8)######不好意思,经过我刚刚测试,这种方式能解决 ,能告诉我为什么么? new String((name).getBytes(),"ISO-8859-1") new String(name.getBytes("ISO-8859-1")) 有什么区别呢?######不行的哈,基本所有编码都试过了,不行,上面已经说了######倒是可以考虑用过滤器来解决乱码,post的直接设置编码,get的写一个继承 HttpServletRequestWrapper的类###### post用过滤器即可 get请求修改tomcat的server.xml中的<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443"/> 加上URIEncoding="编码" 当然这个编码应该跟你客户端编码一致 ###### 其实你们都误解了我说的意思,请大家认真看题目好吗?  为什么手动解码和配置文件还是不一样呢? 都是转换成UTF-8 。 ###### 1. 你看下System.out.print(Charset.defaultCharset());值是啥。 2. System.out.println(new String(name.getBytes("ISO-8859-1"), "ISO-8859-1"));看看能不能行。 3. 我个人觉得,配置文件和自己解码肯定都是可以解决的。 ######回复 @yumemor : 其实可以参看URLEncoder,URLDecoder两个类的编码解码的方法,编码的方法调用了getBytes,解码的调用了new String,如果你页面上编码是utf-8,则相当于调用了URLEncoder.encode(str, "UTF-8")这个方法,但tomcat默认是调用URLDecoder.decode(str_utf8, "ISO-8859-1"),所以你可以理解整个过程为new String(str.getBytes("utf-8"),"ISO-8859-1");所以会出现乱码,所以你只要用new String(str.getBytes("ISO-8859-1"),"utf-8");就可以转回来,如果java端默认编码为utf-8,new String(str.getBytes("ISO-8859-1"));也是同样的效果######回复 @maradona : 感谢!###### @yumemor 具体可以参照一下 http://blog.csdn.net/chenssy/article/details/42913511 或许对你有帮助,俺发现对这个理解又透彻了一点点

爱吃鱼的程序员 2020-06-05 12:18:50 0 浏览量 回答数 0

回答

1、历史原因 varchar在MySQL 5.0.3之前只支持0-255byte,在MySQL 5.0.3之后才支持到0-65535byte 这里的255是字符的长度 2、varchar的最大长度 看一段代码 mysql> show variables like '%col%'; +---------------------------+-----------------+ | Variable_name | Value | +---------------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | protocol_version | 10 | | slave_compressed_protocol | OFF | +---------------------------+-----------------+ 5 rows in set (0.00 sec) mysql> show char set; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 | | euckr | EUC-KR Korean | euckr_korean_ci | 2 | | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | | greek | ISO 8859-7 Greek | greek_general_ci | 1 | | cp1250 | Windows Central European | cp1250_general_ci | 1 | | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | | cp866 | DOS Russian | cp866_general_ci | 1 | | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | | macce | Mac Central European | macce_general_ci | 1 | | macroman | Mac West European | macroman_general_ci | 1 | | cp852 | DOS Central European | cp852_general_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | | utf16 | UTF-16 Unicode | utf16_general_ci | 4 | | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | | cp1256 | Windows Arabic | cp1256_general_ci | 1 | | cp1257 | Windows Baltic | cp1257_general_ci | 1 | | utf32 | UTF-32 Unicode | utf32_general_ci | 4 | | binary | Binary pseudo charset | binary | 1 | | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | +----------+-----------------------------+---------------------+--------+ 40 rows in set (0.00 sec) mysql> create database testdbx DEFAULT CHARACTER SET latin1; mysql> use testdb; Database changed mysql> use testdbx; Database changed mysql> drop table if exists testa;create table testa (name varchar(65532)); mysql> drop table if exists testa;create table testa (name varchar(65533)); Query OK, 0 rows affected (0.01 sec) ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs mysql> drop table if exists testa;create table testa (name varchar(65533) not null); 总结如下 name varchar(100) not null will be 1 byte (length) + up to 100 chars (latin1) name varchar(500) not null will be 2 bytes (length) + up to 500 chars (latin1) name varchar(65533) not null will be 2 bytes (length) + up to 65533 chars (latin1) name varchar(65532) will be 2 bytes (length) + up to 65532 chars (latin1) + 1 null byte mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532 3、varchar物理存储 在物理存储上,varchar使用1到2个额外的字节表示实际存储的字符串长度(bytes)。如果列的最大长度小于256个字节,用一个字节表示(标识)。如果最大长度大于等于256,使用两个字节。 当选择的字符集为latin1,一个字符占用一个byte varchar(255)存储一个字符,使用2bytes物理空间存储数据实际数据长度和数据值。 varchar(256)存储一个字符,使用2bytes表示实际数据长度,一共需要3bytes物理存储空间。 varchar对于不同的RDBMS引擎,有不通的物理存储方式,虽然有统一的逻辑意义。对于mysql的不同存储引擎,其实现方法与数据的物理存放方式也不同。 4、InnoDB中的varchar InnoDB中varchar的物理存储方式与InnoDB使用的innodb_file_format有关。 早期的innodb_file_forma = Antelope;支持redundant和compact两种row_format5.5开始或者InnoDB1.1,可以使用一种新的file format = Barracuda;Barracuda兼容Redundant,另外还支持dynamic和compressed两种row_format当innodb_file_format=Antelope,ROW_FORMAT=REDUNDANT 或者COMPACT。innodb的聚集索引(cluster index)仅仅存储varchar、text、blob字段的前768个字节,多余的字节存储在一个独立的overflow page中,这个列也被称作off-page。768个字节前缀后面紧跟着20字节指针,指向overflow pages的位置。 另外,在innodb_file_format=Antelope情况下,InnoDB中最多能存储10个大字段(需要使用off-page存储)。innodbd的默认page size为16KB,InnoDB单行的长度不能超过16k/2=8k个字节,(768+20)*10 < 8k。 当innodb_file_format=Barracuda, ROW_FORMAT=DYNAMIC 或者 COMPRESSED innodb中所有的varchar、text、blob字段数据是否完全off-page存储,根据该字段的长度和整行的总长度而定。对off-page存储的列,cluster index中仅仅存储20字节的指针,指向实际的overflow page存储位置。如果单行的长度太大而不能完全适配cluster index page,innodb将会选择最长的列作为off-page存储,直到行的长度能够适配cluster index page。 5、MyISAM中的varchar 对于MyISAM引擎,varchar字段所有数据存储在数据行内(in-line)。MyISAM表的row_format也影响到varchar的物理存储行为。 MyISAM的row_format可以通过create或者alter sql语句设为fixed和dynamic。另外可以通过myisampack生成row_format=compresse的存储格式。 当MyISAM表中不存在text或者blob类型的字段,那么可以把row_format设置为fixed(也可以为dynamic),否则只能为dynamic。 当表中存在varchar字段的时候,row_format可以设定为fixed或者dynamic。使用row_format=fixed存储varchar字段数据,浪费存储空间,varchar此时会定长存储。row_format为fixed和dynamic,varchar的物理实现方式也不同(可以查看源代码文件field.h和field.cc),因而myisam的row_format在fixed和dynamic之间发生转换的时候,varchar字段的物理存储方式也将会发生变化。 总结 : 1、存储2^8 = 256 / overflow pages / 历史原因 3、varchar不一定比char慢 3、如果有大字段使用text,请拆表 4、varchar建立索引的时候,前面20个字符以内即可 5、其实该怎么用还要怎么用 varchar(30) 、 vachar(300)等 参考资料:http://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html 1、历史原因varchar在MySQL 5.0.3之前只支持0-255byte,在MySQL 5.0.3之后才支持到0-65535byte这里的255是字符的长度 2、varchar的最大长度看一段代码 mysql> show variables like '%col%'; +---------------------------+-----------------+ | Variable_name | Value | +---------------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database | utf8_general_ci | | collation_server | utf8_general_ci | | protocol_version | 10 | | slave_compressed_protocol | OFF | +---------------------------+-----------------+ 5 rows in set (0.00 sec) mysql> show char set; +----------+-----------------------------+---------------------+--------+ | Charset | Description | Default collation | Maxlen | +----------+-----------------------------+---------------------+--------+ | big5 | Big5 Traditional Chinese | big5_chinese_ci | 2 | | dec8 | DEC West European | dec8_swedish_ci | 1 | | cp850 | DOS West European | cp850_general_ci | 1 | | hp8 | HP West European | hp8_english_ci | 1 | | koi8r | KOI8-R Relcom Russian | koi8r_general_ci | 1 | | latin1 | cp1252 West European | latin1_swedish_ci | 1 | | latin2 | ISO 8859-2 Central European | latin2_general_ci | 1 | | swe7 | 7bit Swedish | swe7_swedish_ci | 1 | | ascii | US ASCII | ascii_general_ci | 1 | | ujis | EUC-JP Japanese | ujis_japanese_ci | 3 | | sjis | Shift-JIS Japanese | sjis_japanese_ci | 2 | | hebrew | ISO 8859-8 Hebrew | hebrew_general_ci | 1 | | tis620 | TIS620 Thai | tis620_thai_ci | 1 | | euckr | EUC-KR Korean | euckr_korean_ci | 2 | | koi8u | KOI8-U Ukrainian | koi8u_general_ci | 1 | | gb2312 | GB2312 Simplified Chinese | gb2312_chinese_ci | 2 | | greek | ISO 8859-7 Greek | greek_general_ci | 1 | | cp1250 | Windows Central European | cp1250_general_ci | 1 | | gbk | GBK Simplified Chinese | gbk_chinese_ci | 2 | | latin5 | ISO 8859-9 Turkish | latin5_turkish_ci | 1 | | armscii8 | ARMSCII-8 Armenian | armscii8_general_ci | 1 | | utf8 | UTF-8 Unicode | utf8_general_ci | 3 | | ucs2 | UCS-2 Unicode | ucs2_general_ci | 2 | | cp866 | DOS Russian | cp866_general_ci | 1 | | keybcs2 | DOS Kamenicky Czech-Slovak | keybcs2_general_ci | 1 | | macce | Mac Central European | macce_general_ci | 1 | | macroman | Mac West European | macroman_general_ci | 1 | | cp852 | DOS Central European | cp852_general_ci | 1 | | latin7 | ISO 8859-13 Baltic | latin7_general_ci | 1 | | utf8mb4 | UTF-8 Unicode | utf8mb4_general_ci | 4 | | cp1251 | Windows Cyrillic | cp1251_general_ci | 1 | | utf16 | UTF-16 Unicode | utf16_general_ci | 4 | | utf16le | UTF-16LE Unicode | utf16le_general_ci | 4 | | cp1256 | Windows Arabic | cp1256_general_ci | 1 | | cp1257 | Windows Baltic | cp1257_general_ci | 1 | | utf32 | UTF-32 Unicode | utf32_general_ci | 4 | | binary | Binary pseudo charset | binary | 1 | | geostd8 | GEOSTD8 Georgian | geostd8_general_ci | 1 | | cp932 | SJIS for Windows Japanese | cp932_japanese_ci | 2 | | eucjpms | UJIS for Windows Japanese | eucjpms_japanese_ci | 3 | +----------+-----------------------------+---------------------+--------+ 40 rows in set (0.00 sec) mysql> create database testdbx DEFAULT CHARACTER SET latin1; mysql> use testdb; Database changed mysql> use testdbx; Database changed mysql> drop table if exists testa;create table testa (name varchar(65532)); mysql> drop table if exists testa;create table testa (name varchar(65533)); Query OK, 0 rows affected (0.01 sec) ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. This includes storage overhead, check the manual. You have to change some columns to TEXT or BLOBs mysql> drop table if exists testa;create table testa (name varchar(65533) not null); 总结如下 name varchar(100) not null will be 1 byte (length) + up to 100 chars (latin1) name varchar(500) not null will be 2 bytes (length) + up to 500 chars (latin1) name varchar(65533) not null will be 2 bytes (length) + up to 65533 chars (latin1) name varchar(65532) will be 2 bytes (length) + up to 65532 chars (latin1) + 1 null byte mysql的vachar字段的类型虽然最大长度是65535,但是并不是能存这么多数据,最大可以到65533(不允许非空字段的时候),当允许非空字段的时候只能到65532 3、varchar物理存储 在物理存储上,varchar使用1到2个额外的字节表示实际存储的字符串长度(bytes)。如果列的最大长度小于256个字节,用一个字节表示(标识)。如果最大长度大于等于256,使用两个字节。 当选择的字符集为latin1,一个字符占用一个byte varchar(255)存储一个字符,使用2bytes物理空间存储数据实际数据长度和数据值。 varchar(256)存储一个字符,使用2bytes表示实际数据长度,一共需要3bytes物理存储空间。 varchar对于不同的RDBMS引擎,有不通的物理存储方式,虽然有统一的逻辑意义。对于mysql的不同存储引擎,其实现方法与数据的物理存放方式也不同。 4、InnoDB中的varchar InnoDB中varchar的物理存储方式与InnoDB使用的innodb_file_format有关。 早期的innodb_file_forma = Antelope;支持redundant和compact两种row_format5.5开始或者InnoDB1.1,可以使用一种新的file format = Barracuda;Barracuda兼容Redundant,另外还支持dynamic和compressed两种row_format当innodb_file_format=Antelope,ROW_FORMAT=REDUNDANT 或者COMPACT。innodb的聚集索引(cluster index)仅仅存储varchar、text、blob字段的前768个字节,多余的字节存储在一个独立的overflow page中,这个列也被称作off-page。768个字节前缀后面紧跟着20字节指针,指向overflow pages的位置。 另外,在innodb_file_format=Antelope情况下,InnoDB中最多能存储10个大字段(需要使用off-page存储)。innodbd的默认page size为16KB,InnoDB单行的长度不能超过16k/2=8k个字节,(768+20)*10 < 8k。 当innodb_file_format=Barracuda, ROW_FORMAT=DYNAMIC 或者 COMPRESSED innodb中所有的varchar、text、blob字段数据是否完全off-page存储,根据该字段的长度和整行的总长度而定。对off-page存储的列,cluster index中仅仅存储20字节的指针,指向实际的overflow page存储位置。如果单行的长度太大而不能完全适配cluster index page,innodb将会选择最长的列作为off-page存储,直到行的长度能够适配cluster index page。 5、MyISAM中的varchar 对于MyISAM引擎,varchar字段所有数据存储在数据行内(in-line)。MyISAM表的row_format也影响到varchar的物理存储行为。 MyISAM的row_format可以通过create或者alter sql语句设为fixed和dynamic。另外可以通过myisampack生成row_format=compresse的存储格式。 当MyISAM表中不存在text或者blob类型的字段,那么可以把row_format设置为fixed(也可以为dynamic),否则只能为dynamic。 当表中存在varchar字段的时候,row_format可以设定为fixed或者dynamic。使用row_format=fixed存储varchar字段数据,浪费存储空间,varchar此时会定长存储。row_format为fixed和dynamic,varchar的物理实现方式也不同(可以查看源代码文件field.h和field.cc),因而myisam的row_format在fixed和dynamic之间发生转换的时候,varchar字段的物理存储方式也将会发生变化。 总结 : 1、存储2^8 = 256 / overflow pages / 历史原因 3、varchar不一定比char慢 3、如果有大字段使用text,请拆表 4、varchar建立索引的时候,前面20个字符以内即可 5、其实该怎么用还要怎么用 varchar(30) 、 vachar(300)等 参考资料:http://dev.mysql.com/doc/refman/5.5/en/column-count-limit.html

西秦说云 2019-12-02 01:33:17 0 浏览量 回答数 0

新用户福利专场,云服务器ECS低至96.9元/年

新用户福利专场,云服务器ECS低至96.9元/年

问题

url 发送请求乱码解决。 400 请求报错 

kun坤 2020-05-28 16:04:50 5 浏览量 回答数 1

问题

如何找出弄乱我的语言环境设置的东西?

祖安文状元 2020-01-08 15:00:40 0 浏览量 回答数 1

问题

阿里短信服务返回200收不到短信 企业本身信息已经通过审核,短信模板也已经通过了审核,api是直接复制的文档上的

jiuchongxiao 2019-12-01 20:23:08 2329 浏览量 回答数 1

问题

使用短信服务时,返回如下信息,短信没有收到,哪里的问题?

wanzhuanxingzhe 2019-12-01 20:19:39 1414 浏览量 回答数 1

回答

字符U + 201C左双引号在Latin-1(ISO-8859-1)编码中不存在。 这是目前在代码页1252(西欧)。这是Windows特定的编码,基于ISO-8859-1,但会将多余的字符放入0x80-0x9F范围内。代码页1252通常与ISO-8859-1混淆,这是一种令人烦恼但现在是标准的Web浏览器行为,如果您将页面作为ISO-8859-1提供服务,则浏览器会将它们视为cp1252。但是,它们实际上是两种不同的编码: u'He said \u201CHello\u201D'.encode('iso-8859-1') UnicodeEncodeError u'He said \u201CHello\u201D'.encode('cp1252') 'He said \x93Hello\x94' 如果仅将数据库用作字节存储,则可以使用cp1252进行编码,“以及Windows Western代码页中的其他字符。但是cp1252中不存在的其他Unicode字符仍然会导致错误。 您可以encode(..., 'ignore')通过消除字符来抑制错误,但实际上在本世纪,您应该在数据库和页面中都使用UTF-8。此编码允许使用任何字符。理想情况下,您还应该告诉MySQL您正在使用UTF-8字符串(通过在字符串列上设置数据库连接和排序规则),这样它就可以正确区分大小写并进行排序。来源:stack overflow

保持可爱mmm 2020-05-17 17:09:27 0 浏览量 回答数 0

回答

US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16

a123456678 2019-12-02 03:07:01 0 浏览量 回答数 0

问题

帮忙用PHP实现如下Java的功能报错

因为相信,所以看见。 2020-05-27 10:03:07 8 浏览量 回答数 1

问题

iconv命令未将纯文本文件的编码更改为另一种编码

祖安文状元 2020-01-06 16:29:00 0 浏览量 回答数 1

问题

阿里云centos静默安装oracle

美味的小鱼 2019-12-01 20:57:44 28198 浏览量 回答数 10

问题

求助:我的servlet下载zip数据总是无法弹出下载窗口,怎么解决?? 400 报错

爱吃鱼的程序员 2020-06-05 13:36:06 0 浏览量 回答数 1

回答

因为http url是 ISO-8859-1编码,所以用getParameter从url中获取到的参数是ISO-8859-1编码,需要转换成约定的编码

落地花开啦 2019-12-02 02:28:18 0 浏览量 回答数 0

回答

printf("HTTP/1.1 200 OkayrnContent-Type: text/html; charset=ISO-8859-4 rnrn Hello, client! Welcome to the Virtual Machine Web.."); 这句话的意思是往你的终端打印内容,而不是往客户端的链接中输出内容,改成:char buf[] = "HTTP/1.1 200 OkayrnContent-Type: text/html; charset=ISO-8859-4 rnrn Hello, client! Welcome to the Virtual Machine Web..";write(sock, buf, sizeof(buf)); 就可以了

挺锋 2019-12-02 02:26:56 0 浏览量 回答数 0

回答

在mysql5.5 command line client上面看到的 +----+-------+-----------+---------------------+ | id | state | nickname  | createtime          | +----+-------+-----------+---------------------+ |  1 |     1 | 鍝堝搱鍝?   | 2014-08-12 21:56:11 | |  2 |     2 | 浣犲ソ      | 2014-08-12 22:17:14 | |  3 |     3 | MySQ      | 2014-08-12 22:33:39 | |  4 |     2 | 浣犲ソ      | 2014-08-12 22:38:12 | +----+-------+-----------+---------------------+ 在navicat上面看到的启动console看到的 +----+-------+----------+---------------------+ | id | state | nickname | createtime          | +----+-------+----------+---------------------+ |  1 |     1 | 哈哈哈   | 2014-08-12 21:56:11 | |  2 |     2 | 你好     | 2014-08-12 22:17:14 | |  3 |     3 | MySQ     | 2014-08-12 22:33:39 | |  4 |     2 | 你好     | 2014-08-12 22:38:12 | +----+-------+----------+---------------------+ 在client中语句 insert into days_user values(3,3,'MySQL支持的字符集和校对',sysdate()); > insert into days_user values(3,3,'MySQL支持的字符集和校对',sysdate());  1366 (HY000): Incorrect string value: '\xB3\xD6\xB5\xC4\xD7\xD6...' for column 'nickname' at row 1 在console正确的插入了 +----+-------+-------------------------+---------------------+ | id | state | nickname                | createtime          | +----+-------+-------------------------+---------------------+ |  1 |     1 | 哈哈哈                  | 2014-08-12 21:56:11 | |  2 |     2 | 你好                    | 2014-08-12 22:17:14 | |  3 |     3 | MySQ                    | 2014-08-12 22:33:39 | |  4 |     2 | 你好                    | 2014-08-12 22:38:12 | |  5 |     3 | MySQL支持的字符集和校对 | 2014-08-12 22:45:38 | +----+-------+-------------------------+---------------------+ mysql> SHOW VARIABLES LIKE 'collation_%'; +----------------------+-----------------+ | Variable_name        | Value           | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database   | utf8_general_ci | | collation_server     | utf8_general_ci | +----------------------+-----------------+ mysql> show variables like 'character\_set\_%'; +--------------------------+--------+ | Variable_name            | Value  | +--------------------------+--------+ | character_set_client     | utf8   | | character_set_connection | utf8   | | character_set_database   | utf8   | | character_set_filesystem | binary | | character_set_results    | utf8   | | character_set_server     | utf8   | | character_set_system     | utf8   | Java中的jdbc配置: jdbc_url=jdbc:mysql://localhost:3306/mydays?useUnicode=true&characterEncoding=utf-8 还是不行哦,我的操作系统的问题? ###### utf8  && utf-8 傻傻分不清楚. ######数据库中可以选择的编码方式就是“utf8”,没有utf-8,应该都是一个意思吧,书写的方式有所差异罢了######应该是Mybatis在存储转换过程中转码的问题。###### 哦,你没错,mysql引擎默认引用latin1(iso-8859-1) ,你进行mysql命令行,选择数据库后用status命令看一下,除数据库外,其它的都应该是latin1编码, 解决方式 :使用set names 'utf-8',全部设置在utf-8编码,就不是乱码了。 其实你那里中文是没有乱码的,latin1支持所有的编码,你用HeidiSQL工具连接上你的mysql ,它能将底层的latin1转为 utf-8。 ######设置如下,还是无法正常插入中文: mysql>  SHOW VARIABLES LIKE 'character_set_%'; +--------------------------+---------------------------------------------------------+ | Variable_name            | Value                                                   | +--------------------------+---------------------------------------------------------+ | character_set_client     | utf8                                                    | | character_set_connection | utf8                                                    | | character_set_database   | utf8                                                    | | character_set_filesystem | binary                                                  | | character_set_results    | utf8                                                    | | character_set_server     | utf8                                                    | | character_set_system     | utf8                                                    | | character_sets_dir       | C:\Program Files\MySQL\MySQL Server 5.5\share\charsets\ | ######你的项目编码是什么?######utf-8###### 怀疑你的字符串并没有使用UTF8编码。 你试试在mysql交互式命令行下以utf8编码插入数据试试 ######也可以检查下页面的编码和浏览器显示用的编码######你可以试试在存入数据库前是否已经乱码,也就是页面传递时乱码没有!###### SHOW VARIABLES LIKE 'collation_%'; +----------------------+-----------------+ | Variable_name        | Value           | +----------------------+-----------------+ | collation_connection | utf8_general_ci | | collation_database   | utf8_general_ci | | collation_server     | utf8_unicode_ci | +----------------------+-----------------+ 有可能是 这个 collation_connection 的原因, 使用set collation_connection=utf8_general_ci;提示成功,查询也能查到, 在关闭了之后,再次查询,又恢复到了latin1

kun坤 2020-06-06 16:26:52 0 浏览量 回答数 0

回答

Byte[] bytes = Str.getBytes("ISO8859-1");//""里面的参数为需要转化的编码,一般是ISO8859-1 String str = new String(bytes,"utf-8");//转化为utf-8编码

落地花开啦 2019-12-02 01:41:48 0 浏览量 回答数 0

问题

jquery.form.js文件上传出现乱码?

a123456678 2019-12-01 20:20:24 1594 浏览量 回答数 1

回答

出现问题的原因是java代码中获取的中文字符串没有定义编码格式,读取的时候是乱码,所以显示不出来。 获取到的文件中通常都是“iso8859-1”格式,需要转换为“UTF-8”格式。 如:String str = new String(str.getByte("iso8859-1"),"UTF-8");进行下强制转换后在进行读取即可。 通常格式有GBK、UTf-8、iso8859-1、GB2312,如果上面的强制转换不成功,依次进行这些格式的尝试,肯定是可以解决问题的。 “答案来源于网络,供您参考” 希望以上信息可以帮到您!

牧明 2019-12-02 02:16:39 0 浏览量 回答数 0

回答

$ curl -IL http://ogtui.com/thread-518-1-1.htmlHTTP/1.1 301 Moved PermanentlyDate: Tue, 12 Aug 2014 13:56:07 GMTServer: ApacheLocation: http://www.ogtui.com/thread-518-1-1.htmlVary: Accept-EncodingConnection: closeContent-Type: text/html; charset=iso-8859-1HTTP/1.1 302 FoundDate: Tue, 12 Aug 2014 13:56:07 GMTServer: ApacheX-Powered-By: PHP/5.3.17Set-Cookie: RSem_4fb2_saltkey=aAe90LZE; expires=Thu, 11-Sep-2014 13:56:07 GMT; path=/; domain=.ogtui.com; httponlySet-Cookie: RSem_4fb2_lastvisit=1407848167; expires=Thu, 11-Sep-2014 13:56:07 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_sid=vhh5Jj; expires=Wed, 13-Aug-2014 13:56:07 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_lastact=1407851767%09forum.php%09viewthread; expires=Wed, 13-Aug-2014 13:56:07 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_visitedfid=44; expires=Thu, 11-Sep-2014 13:56:07 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_viewid=tid_518; path=/; domain=.ogtui.comLocation: forum.php?mod=viewthread&tid=518Vary: Accept-EncodingConnection: closeContent-Type: text/html; charset=gbkHTTP/1.1 200 OKDate: Tue, 12 Aug 2014 13:56:08 GMTServer: ApacheX-Powered-By: PHP/5.3.17Set-Cookie: RSem_4fb2_saltkey=VngZI0p4; expires=Thu, 11-Sep-2014 13:56:08 GMT; path=/; domain=.ogtui.com; httponlySet-Cookie: RSem_4fb2_lastvisit=1407848168; expires=Thu, 11-Sep-2014 13:56:08 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_sid=tsnWTz; expires=Wed, 13-Aug-2014 13:56:08 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_lastact=1407851768%09forum.php%09viewthread; expires=Wed, 13-Aug-2014 13:56:08 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_visitedfid=44; expires=Thu, 11-Sep-2014 13:56:08 GMT; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_viewid=tid_518; path=/; domain=.ogtui.comSet-Cookie: RSem_4fb2_sid=tsnWTz; expires=Wed, 13-Aug-2014 13:56:08 GMT; path=/; domain=.ogtui.comVary: Accept-EncodingConnection: closeContent-Type: text/html; charset=gbk

云代维 2019-12-02 00:04:54 0 浏览量 回答数 0

回答

数据『丢失』的原因见该文章的分析:https://yq.aliyun.com/articles/65035。解决方案是需要更改DataX内部bytes到String转换的编码,需要更改Job的配置文件,添加如下配置:同时,在从ODPS内读出String类型字段后,需要使用iso-8859-1编码来转换回bytes:value.getBytes("iso-8859-1");

木洛 2019-12-01 23:23:12 0 浏览量 回答数 0

回答

需要保证spring引入了你的jdbc.properties,第二属性名必须对应。######这个是我是引入的,名称也对应了###### <context:property-placeholderlocation="classpath*:jdbc.properties"/><spanstyle="line-height:1.5;font-size:10pt;">确认下你引入的jdbc.properties位置是否正确。######位置是正确的######错误日志呢?###### <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">jdbc.properties转换成ISO-8859-1看看有没有乱码,如果事先用记事本打开保存的话会在文件头部增加一个乱码,在UTF-8下是无法查看到的. <spanstyle="font-family:'MicrosoftYaHei',Verdana,sans-serif,宋体;font-size:14px;line-height:normal;background-color:#FFFFFF;">具体情况百度BOM <spanstyle="color:#333333;font-family:arial,宋体,sans-serif;font-size:14px;line-height:24px;background-color:#FFFFFF;">类似WINDOWS自带的记事本等软件,在保存一个以<atarget="_blank"rel="nofollow">UTF-8<spanstyle="color:#333333;font-family:arial,宋体,sans-serif;font-size:14px;line-height:24px;background-color:#FFFFFF;">编码的文件时,会在文件开始的地方插入三个不可见的字符(0xEF0xBB0xBF,即BOM)。它是一串隐藏的字符,用于让记事本等编辑器识别这个文件是否以UTF-8编码。 <spanstyle="font-size:14px;line-height:normal;">----- <spanstyle="font-size:14px;line-height:normal;">乱码格式可能如下 <spanstyle="font-size:14px;line-height:normal;">?username=root <spanstyle="font-size:14px;line-height:normal;">password=123456######文件是utf8编码的

优选2 2020-06-09 16:05:21 0 浏览量 回答数 0

问题

java ftp上传文件 报错

因为相信,所以看见。 2020-05-26 13:56:31 15 浏览量 回答数 1

回答

header的编码和value编码不太一样,header的值需要用ISO-9959-1编码。 HttpPost post = new HttpPost(initUrl(host, path, querys)); for (Map.Entry<String, String> e : headers.entrySet()) { //header的传值,value要编码后传,具体实现请看下面 post.addHeader(e.getKey(), MessageDigestUtil.utf8ToIso88591(e.getValue())); } /** * UTF-8编码转换为ISO-9959-1 * * @param str * @return */ public static String utf8ToIso88591(String str) { if (str == null) { return str; } try { return new String(str.getBytes("UTF-8"), "ISO-8859-1"); } catch (UnsupportedEncodingException e) { throw new RuntimeException(e.getMessage(), e); } }

保持可爱mmm 2020-03-26 21:41:25 0 浏览量 回答数 0

回答

如果input.txt的内容实际上在ISO-8859-1中,则对我有用。如果使用UTF-8,则会得到不正确的结果。换句话说,当我复制/粘贴您的输入时,我得到的文件的内容为UTF-8。如果我执行iconv -f utf-8 -t L1 <utf8.txt> input.txt,那么您的程序可以正常工作。 顺便说一句,您的程序不是惯用的python,在大型输入时效率很低。 回答来源:stackoverflow

is大龙 2020-03-23 20:26:04 0 浏览量 回答数 0

问题

ajax提交编码问题

a123456678 2019-12-01 20:21:10 907 浏览量 回答数 1

回答

问题应该是出在Tomcat身上。浏览器请求传到Tomcat容器的时候还会经历一次编码转换,而Tomcat7.0对请求的默认编码字符集是ISO8859-1(还没找到Tomcat的官方文档来支持这一观点),所以解决方法就是在java代码里对请求再次进行编码转换。其中有两种处理方式:1.对参数值的字符串进行编码转换。new String(request.getParameter("name").getByte("ISO-8859-1"),"UTF-8");2.对进入容器的所有请求进行编码转换。这个方式需要配置一个过滤器public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {request.setCharacterEncoding("utf-8");chain.doFilter(request, response);}

一生有你llx 2019-12-02 01:55:09 0 浏览量 回答数 0

回答

问题应该是出在Tomcat身上。浏览器请求传到Tomcat容器的时候还会经历一次编码转换,而Tomcat7.0对请求的默认编码字符集是ISO8859-1(还没找到Tomcat的官方文档来支持这一观点),所以解决方法就是在java代码里对请求再次进行编码转换。其中有两种处理方式:1.对参数值的字符串进行编码转换。new String(request.getParameter("name").getByte("ISO-8859-1"),"UTF-8");2.对进入容器的所有请求进行编码转换。这个方式需要配置一个过滤器 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); chain.doFilter(request, response); }

nothingfinal 2019-12-02 01:55:09 0 浏览量 回答数 0

回答

问题应该是出在Tomcat身上。浏览器请求传到Tomcat容器的时候还会经历一次编码转换,而Tomcat7.0对请求的默认编码字符集是ISO8859-1(还没找到Tomcat的官方文档来支持这一观点),所以解决方法就是在java代码里对请求再次进行编码转换。其中有两种处理方式:1.对参数值的字符串进行编码转换。new String(request.getParameter("name").getByte("ISO-8859-1"),"UTF-8");2.对进入容器的所有请求进行编码转换。这个方式需要配置一个过滤器 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { request.setCharacterEncoding("utf-8"); chain.doFilter(request, response); }

蛮大人123 2019-12-02 01:55:09 0 浏览量 回答数 0

问题

PHP读取ISO-8859-1编码格式xml里的中文:报错

kun坤 2020-06-06 16:29:42 0 浏览量 回答数 1
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 云栖号物联网 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 2020阿里巴巴研发效能峰会 企业建站模板 云效成长地图 高端建站 云栖号弹性计算 阿里云云栖号 云栖号案例 云栖号直播