JSP中文显示问题--JSP源文件在数据库的入口和出口处字符编码的转换问题

本文分析了JSP中文乱码的原因,主要由于数据库默认编码与JSP文件不一致。提供了两种解决方法:一是通过代码在数据库入出口处进行字符编码转换;二是更改数据库默认编码为GBK或GB2312。

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

其他中文显示问题请参考:JSP中文乱码问题终极解决方案

JSP源文件在数据库的入口和出口处字符编码的转换问题

一、原因分析

大部分数据库默认支持的编码格式为ISO-8859-1,当JSP文件向数据库中插入中文数据时,必须先将数据从GBK/GB2312格式转为ISO-8859-1格式;同理,当JSP文件从数据库读出中文数据时,需先将数据从ISO-8859-1格式转为GBK/GB2312格式。如果在数据库入口和出口处没有进行正确的字符编码转换,就会在读取数据库数据时导致乱码,Web页面显示的中文字符就出现乱码。

二、解决方法

可采用下述两种方法:

1、处理数据量比较小时,可在数据库入出口处对含有中文的数据进行强制编码格式转换,如:

入库:

String str1 = “JSP中文问题”;

String str2 = new String(str1.getBytes("GBK"),"ISO-8859-1");

出库:

String str3 = result.getString(1);

String str4 = new String(str3.getBytes("ISO-8859-1"),"GBK");

2、处理数据量比较小时,可将数据库默认支持的编码格式直接改为GBK或GB2312。如在MySQL中,可修改MySQL安装目录下配置文件my.ini实现。将my.ini文件中[MySQL]和[Client]两个区中的default-character-set改为GBK或者GB2312,然后重启MySQL服务即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值