程序处理 这是一个历史遗留系统, 旧的系统是C++开发的, 插入数据的时候, 没有统一MYSQL各个层次(服务器, 数据库, 表, 列)的编码, 这个情况基本上是MYSQL的默认安装导致的, 实际的数据编码为LATIN1, 而采用Java 开发的新的系统需要和这个遗留系统公用数据库, 采用的是UTF8编码, 碰到的问题是Java代码中获取到的中文为乱码. 搞清楚了这个问题, Java中把乱码转换为正常显示的UTF8编码的中文很简单, 下面是转换代码 /** * LATIN1转UTF8 * * @…
mysql移植含有中文的数据时,很容易出现乱码问题.很多是在从mysql4.x向mysql5.x移植的时候出现.mysql的缺省字符集是 latin1,在使用mysql4.x的时候,很多人都是用的latin1字符集.而当使用mysql5时往往愿意使用utf8.那么我们的任务是不是要 把数据中的字符从latin1转为utf8呢? 不是的. 用一句不大准确,但又比较形象的说法是,在之前的系 统中,我们是用latin1保存了使用gb系列字符集(gbk.gb2312等)的汉字.怎么这样说呢? mysql…
因为建数据库的时候没有选utf8,所以默认是latin1 在网上查了好多资料 ,试了很多种方法,都不奏效,有用的一个竟然要一列一列的改, 最后在评论里发现了这个,抱着试一试的心态竟然成功改过来了,在这谢谢那位分享知识的人(不好意思,网页关了也没找到) 在此奉上SQL语句,希望看到的人少爬坑 ALTER TABLE `contacts_custom_field_data_del` CONVERT TO CHARACTER SET utf8; 还是希望以后建数据库的时候注意: 记得选中  :字符集:…
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; +…
在mysql中,对应的表字段编码通常默认为lartin1编码,在本地客户端显示的时候看着是乱码,但是通过mysql -u -p -h命令登录后,select查询到数据是正常的,通过jdbc或者php等去取回来的中文是乱码: 也就是中文在mysql中是lartin1,到我们自己本地或者用navicat等select却是乱码,使用mysql内置函数来转换一下 SELECT convert(unhex(hex(convert(name using latin1))) using utf8) as na…
一:mysql字符集 mysql的字符集支持(Character Set Support)有两个类型:字符集(Character set)和连接校对(Collation).对于字符集的支持细化到四个层次: 服务器(server),数据库(database),数据表(table)和连接(connection).mysql对于字符集的指定可以细化到一个数据库,一张表,一列.一般的程序在创建数据库和数据表时并没有使用那么复杂的配置,它们用的是默认的配置 (1)编译mysql时,默认的字符集是 lati…
编码查看方式以及解释说明: 需要以root用户身份登陆才可以查看数据库编码方式(以root用户身份登陆的命令为:>mysql -u root –p,之后两次输入root用户的密码),查看数据库的编码方式命令为:  >show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +----------------------…
1.以root用户的身份登录,查看编码设置 mysql> SHOW VARIABLES LIKE 'character%'; +--------------------------+----------------------------+ | Variable_name | Value | +--------------------------+----------------------------+ | character_set_client | latin1 | | character…
有些问题可能比较基础,但是没有经过系统学习还是可能会出错,记录下. 这次是mysql的编码问题. 背景是部署新的测试环境,给了一台服务器还有在另一个环境下的mysql,配置过程中发现mysql编码有问题,查看结果如下 发现character_set_client和character_set_connection以及character_set_results都是latin1(也就是iso-8859-1),这显然不行.于是想到修改数据库服务器上的my.cnf文件,在[client]下增加了一行 de…
MYSQL 2009-09-11 15:37 阅读73 评论1 字号: 大大 中中 小小mysql> SHOW VARIABLES LIKE 'character_set_%';+--------------------------+----------------------------+| Variable_name | Value |+--------------------------+----------------------------+| character_set_client…