使用Java读写存储在latin1编码的MySQL中的UTF-8编码的中文

本文介绍了在Java程序中处理存储在latin1编码的MySQL数据库中的UTF-8编码中文问题的两种解决方案。第一种是通过设置URL参数、执行SQL语句`set names 'latin1'`以及在读取时进行转码。第二种方法是直接将Java文件设置为UTF-8编码,同时在SQL语句中进行转码。文中详细解释了每一步的原因和作用,并给出了错误处理示例。
摘要由CSDN通过智能技术生成

绝大多数情况下,一个项目中,都是使用同一套编码。如,全部使用UTF-8或者GBK。

 

但是当涉及到多个项目合并、新手加入等情况时,不可避免出现使用多套编码的情况。所有字符串都是英文的情况还好,若是出现了中文,就导致了乱码的出现。

 

下面以我碰到的问题的解决方案说明。

前置说明:

==============

Java            MySQL

UTF-8          utf8

ISO-8859-1 latin1

==============

MySQL数据库使用latin1的编码,导入导出的数据是UTF-8编码的,即将MySQL当做一个透明的存储。

 

============================

character_set_client               latin1

character_set_connection      latin1

character_set_database        latin1

character_set_filesystem       binary

character_set_results            latin1

character_set_server             latin1

character_set_system            utf8

=============================

 

Java编写的导入数据程序(包括查看数据校验,即涉及到数据的导入导出)

C++编写的导出数据程序(仅涉及到数据的导出)

 

Java程序如何读写中文

第一种解决办法:

0

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值