java读取数据库中文部分乱码(java如何读取数据库的表格)

http://www.itjxue.com  2023-03-29 11:47  来源:未知  点击次数: 

java连接mysql数据库乱码的解决方案

解决方法一:

mysql安装时候的编码

看下my ini 有无

[mysql]

default character set=utf

[client] default character set=utf

[mysqld] default character set=utf 创建表的时候设置

DROP?? TABLE?? IF?? EXISTS?? `Company`; CREATE?? TABLE?? IF?? NOT?? EXISTS?? `Company` ( ??? `Cname`?? VARCHAR( )?? NOT?? NULL ??? `Caddr`?? VARCHAR( ) ??? `Ctel`???? VARCHAR( ) )ENGINE=InnoDB?? DEFAULT?? CHARSET=UTF ; jsp标头

%@ page language="java" import="java util *" pageEncoding="UTF "%不行的话就尝试

contentType="text/;charset=gb " 解决方法二

连接mysql时(无论在从mysql读还是取数据的情况) 指定使用的编码方式为utf 具体代码如下

//装载mysql jdbc驱动

Class forName(" mysql jdbc Driver") newInstance();

//连接数据库

Connection sqlCon = DriverManager getConnection( "jdbc:mysql://localhost: /test?user=rootpassword= useUnicode=truecharacterEncoding=utf " ); 解决方法三

如果方法一不行那么在方法一的基础上对读入的字符串进行强制编码方式转换

String name = request getParameter("name"); name= new String(name getBytes("ISO ") "utf "); 或者

String name =new String( rst getString("name") getBytes("ISO ") "utf "));解决方法四

这个方法在有些文章里是首推的 我首先也是试了这个方法 但是好像不行 这里还是说一下 不知是不是 *** 作错误 还是先贴原文吧

"如果数据库中有中文的话而mysql默认的语言不是中文时要在配置文件C:winntmy ini 中的 [mysqld] 里添加一行

default character set=utf

然后重起mysql

方法五 在tomca或者web项目下的web xml里面更改

filter?? filter nameUTFEncoding/filter name ???? filter class founder chenph Util EncodingFilter_UTF

lishixinzhi/Article/program/Java/JSP/201311/20273

java数据库中文乱码怎么解决

可能原因一:数据库不支持中文,或者是数据库编码格式和java代码编码格式不一致,这种情况需要修改数据库编码格式:

ALTER SYSTEM DISABLE RESTRICTED SESSION;改完编码后执行

sql conn / as sysdba;

sql shutdown immediate;

database closed.

database dismounted.

oracle instance shut down.

sql startup mount;

oracle instance started.

total system global area 135337420 bytes

fixed size 452044 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

database mounted.

sql alter system enable restricted session;

system altered.

sql alter system set job_queue_processes=0;

system altered.

sql alter system set aq_tm_processes=0;

system altered.

sql alter database open;

database altered.

sql alter database character set internal_use UTF-8;

sql shutdown immediate;

sql startup;

可能原因二:java代码生成插入语句的时候,已经发生乱码现象,这种只能是修改项目编码格式或者是在数据获取的时候直接转译代码编码格式来实现了。

为什么mysql可以显示中文,但用Java读出的中文却是乱码?

数据库引擎和开发语言所应用的文字编码不一致,就会导致出现乱码!

将你所编写的JavaSource用文字编码Class来重新设定一下就可以了。

String

变数名

=

new

String(变数名.getBytes("ISO-8859-1"),"数据库的文字编码");

利用什么编码无所谓,关键是双方一致才可以。

推荐用

utf-8

剩下的就看你自己了。

求解决java读取数据库中文乱码问题

java读取后nikename乱码,country正常显示

难道同一个表会有两种编码?

而且str.getbytes("xxx")他也是按编码来走的 ?他使用的平台默认的编码字符集

如果"xxx"本来就不是本地编码 ?先解码就乱了 再用utf-8还是乱

题主是用JDBC还是hibernate或者其他框架?

用java读取txt文件中的中文写入数据库出现中文乱码,怎么解决?

1,设置下你数据库的编码,一般设置成UTF-8或者GBK或者GB2312

2,java读取TXT数据时可以转换下编码,再存进数据库,从数据库读取出来后显示时也同样的转换下编码,好像可以用个过滤器来弄的,

(责任编辑:IT教学网)

更多