解决方案:mysql的中文问题(开发语言:Java)

本文分享了在MySQL中正确处理中文字符的具体步骤与Java代码示例,包括配置my.ini文件及通过Java进行数据写入与读取时的字符集转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论坛中,mysql的中文问题甚多,现结合已有帖子,和我一下午的测试,现将解决方案与大家共享之。

======版本======
mysql:  1.5
jkd: 1.5

===== mysql======
修改安装目录的 my.ini 文件:
【client section 端】
default-character-set=gb2312

【server section 端】
default-character-set=UTF8

======java code =======
【WriteCN.java】

            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/stock?user=root&password=123456&useUnicode=true&characterEncoding=Latin1");           
            PreparedStatement updateSales = con.prepareStatement(
        "REPLACE t_stock SET id =?,bname=?");
            updateSales.setString(1, "writeCN");
            String str = "中文";
            str = new String(str.getBytes("gb2312"),"Latin1");
            updateSales.setString(2, str);           
            updateSales.executeUpdate();


【ReadCN.java】

            Connection con = DriverManager.getConnection("jdbc:mysql://localhost/stock?user=root&password=123456&useUnicode=true&characterEncoding=gb2312");
            Statement stmt = con.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT bname FROM t_stock");
            rs.first();
            String s=rs.getString(1);           
            s = new String(s.getBytes("Latin1"),"gb2312");           
            System.out.println( s );           
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值