字符集(编码格式相关)
来源:互联网 发布:视频配音软件 编辑:程序博客网 时间:2024/06/06 15:02
javaweb:
JDBC连接数据库时设置字符集(编码格式)
没试,为了将来留个记号
// Load the JDBC-ODBC bridge driver
Class.forName(sun.jdbc.odbc.JdbcOdbcDriver) ;
// setup the properties java.util.Properties prop = new java.util.Properties(); prop.put( " charSet " , " Big5 " ); prop.put( " user " , username); prop.put( " password " , password); // Connect to the database con = DriverManager.getConnection(url, prop);
前后端数据编码格式不同的转换
问题
>前端传过来的数据是乱码,原因是”编码格式“不一样,我用的是UTF-8UTF-8下看其他编码格式: iso-8859-1-->é??é??è????? gbk---------->浣犲ソ
string存在于内存中时编码格式是UTF-16 Character (Java Platform SE 6)
解决办法
new String(s.getBytes("iso-8859-1"),UTF-8);//String构造方法,第二个参数是编码格式/*getBytes(String charsetName)使用指定的字符集将此 String 编码为 byte 序列,并将结果存储到一个新的 byte 数组中*/
Mysql四个等级默认字符集设置不相同的处理办法
Mysql数据库的编码分为四级:
1、Mysql数据库服务器编码; (在相应的配置文件中,需要修改配置文件) 2、Mysql数据库编码; (可以在创建的时候指定,也可以在创建之后进行修改) 3、Mysq数据库中表的编码; (可以在创建的时候指定,也可以在创建之后进行修改) 4、Mysql数据库表中字段的编码; (可以在创建的时候指定,也可以在创建之后进行修改)
设置Mysql中的编码
修改表table的编码:alter table table_name default character set utf8显示数据库表中的字符集设置以及创建数据库的脚本信息 show create table t1; 设置表的编码: alter table table_name default character set utf8显示数据库表中字段的字符集设置 show full columns from t1;设置字段的编码 根据字段限制: alter table table_name change old_filed_name new_filed_name varchar(20) not null default 'abc' character set utf8; eg:alter table licensey change yid yid varchar(20) character set utf8;//没有的字段限制就不写当前联接系统参数 //在MySQL Server 5.5\bin\my.ini 中存储 show variables like 'char%'或show variables like 'character%' +--------------------------+------------------------------+ | 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 | gbk | | character_set_system | utf8 | | character_sets_dir | C:\MySQ\share\charsets\ | +--------------------------+------------------------------+ 8 rows in set (0.00 sec)设置value与前台页面的字符编码一致(我的理解是:我进行中文字符串操作的地方) set names gbk; mysql> show variables like 'character%'; +--------------------------+------------------------------+ | Variable_name | Value | +--------------------------+------------------------------+ | character_set_client | gbk | | character_set_connection | gbk | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | gbk | | character_set_server | gbk | | character_set_system | utf8 | | character_sets_dir | C:\MySQ\share\charsets\ | +--------------------------+------------------------------+ 8 rows in set (0.00 sec) 设置前: mysql> insert into licensey (yjyfw,ytimestart,jname) values ('麻醉药品','2016-01-08 00:00:00',170); ERROR 1366 (HY000): Incorrect string value: '\xC2\xE9\xD7\xED\xD2\xA9...' for column 'yjyfw' at row 1 设置后 mysql> insert into licensey (yjyfw,ytimestart,jname) values ('麻醉药品','2016-01-08 00:00:00',170); Query OK, 1 row affected (0.05 sec)
用SQLyog右键选择改变数据库就可以看到对应数据库的基字符集和排列规则
建表时可以设置字符集(编码格式)
create table时可以在末尾后面加上:
1. default character set utf8;
2. default charset=utf8;
列在创建的时候设置字符集就放在列的末尾:filed_name varchar(20) character set utf8
create table table_name( filed_name varchar(20) character set utf8 )default character set utf8;
感谢:ACMAIN_CHM大大和LOFTER的无影大大
0 0
- 字符集(编码格式相关)
- 字符集(字符编码类型)编码格式
- 字符集与编码格式
- 字符集与编码格式
- 字符集和编码格式
- 字符集和编码格式
- 字符集以及编码格式
- 字符集与编码格式
- 字符集编码相关
- 字符集编码相关知识点
- 常见编码格式及字符集
- Redhat编码格式(系统语言、字符集)查询修改
- ★★ 字符集、编码格式浅析
- Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- Java及相关字符集编码问题研究
- linux中断子系统:中断号的映射与维护初始化mmap过程
- 面试-机试-编程题--剑指offer
- ubuntu下环境变量设置(java, eclipse)
- hdu5371(O(n)求回文子串的相关问题)
- Linux管道命令(pipe)之选取命令grep
- 字符集(编码格式相关)
- 图片标签img中,为什么使用alt属性没用
- 29-HTML-02-HTML(标签的操作思想)
- sunburnt 学习笔记 (三) 连接python和solr
- 8.11
- C++/STL_利用remove_if 删除vector,list,deque满足条件的元素
- cocos2d-js 查看对象内部
- 查税
- 平面点曼哈顿最小生成树——POJ 3241 Object Clustering