Code前端首页关于Code前端联系我们

java插入mysql问号乱码(java连接mysql中文乱码)

terry 3年前 (2023-09-30) 阅读数 50 #Mysql
文章标签 数据库

本文目录一览:

  • 1、java编写的程序向mysql(压缩包版的那种)中插入中文数据时,在cmd中查询显示的是乱码
  • 2、用JAVA插入到mysql中出现乱码是什么原因?
  • 3、java后台向mysql插入数据,数据库中显示乱码
  • 4、java写入mysql数据库乱码

java编写的程序向mysql(压缩包版的那种)中插入中文数据时,在cmd中查询显示的是乱码

你这个是因为修改了默认字符集后插入数据 造成前后不统一的问题 重新设置一遍就没问题了

① 首先把MySQL的服务停掉 在运行窗口输入:net stop mysql

② 把服务器和客户端的字符集改成自己想用的字符集:GB2312或是utf8等……

具体操作为:打开mysql安装目录下的my.ini;

找到default-character-set,将其改为自己想用的字符集:GB2312或是utf8等……,要注意的是这里有两个default-character-set,用ctrl+f定位在文件最前面输入default就会找到,都要改过来;

③ 重启MySQL服务器,在运行窗口输入:net start mysql

④ 最重要的是一点是,到这里我们已经能够解决乱码问题了,可问题是我们依然还会出现乱码问题,这是因为我们现在的表被创建的时候用的是默认的字符集(latin1),所以这时候我们要把表删除,然后重建就可以了

用JAVA插入到mysql中出现乱码是什么原因?

***Mysql数据库常见乱码处理方式***

------先分清是否是数据库乱码,如果是其它则用其它方式处理

说明:i里面每条并不是说是一个解决办法,有时都要用到; ii这些方法应该能解决常见的乱码问题,并且这些解决方法都很简捷。

1.在安装数据库的过程中将默认的拉丁文--GBK。

2.在创建数据库时设置选择GBK或者gb2312。

3.Mysql安装目录下的my.ini文件,将 "default-character-set=xxxxx" 中的xxxxx改成GBK或者gb2312。

4.Mysql安装目录下的\data\databasename(数据库名)\db.opt文件打开

default-character-set=gbk

default-collation=gbk_chinese_ci; 如果上面不是gbk和gbk_chinese_ci则改成支持中文的GBK或者gb2312。

5.进入Mysql的dos命令下:进入某数据库后 show full columns from tablename ;查看数据类型,如果不是支持中

文的类型则执行alter table tablename convert to character set gbk 。

6.在创建数据库时(用命令创建时)create database databasename CHARACTER SET gbk;

这是我当年总结的,现在都用oracle了,越学忘记的越多了,不过mysql只要里面的几条必好使.

java后台向mysql插入数据,数据库中显示乱码

MySQL中默认字符集的设置有四级:服务器级,数据库级,表级

。最终是字段级

的字符集设置。注意前三种均为默认设置,并不代码你的字段最终会使用这个字符集设置。所以我们建议要用show

create

table

table

;

或show

full

fields

from

tableName;

来检查当前表中字段的字符集设置。

MySQL中关于连接环境的字符集设置有

Client端,connection,

results

通过这些参数,MySQL就知道你的客户端工具用的是什么字符集,结果集应该是什么字符集。这样MySQL就会做必要的翻译,一旦这些参数有误,自然会导致字符串在转输过程中的转换错误。基本上99%的乱码由些造成。

上面是我抄网上的资料来的。我试了一下。发现

mysql

show

variables

like

'char%';

+--------------------------+----------------------------+

|

Variable_name

|

Value

|

+--------------------------+----------------------------+

|

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

|

|

character_sets_dir

|

/usr/share/mysql/charsets/

|

+--------------------------+----------------------------+

8

rows

in

set

(0.00

sec)

解决方法已经找到。进入数据后

use

数据库名;

names

utf8;

不过这样会每次进入都必须重新设置。因此。还可以在/etc/mysql/my.conf里添加

[mysql]

#no-auto-rehash

#

faster

start

of

mysql

but

no

tab

completition

default-character-set=utf8

这样数据库就不每次按照utf8字符集来导入到数据库了

java写入mysql数据库乱码

应该是中文乱码问题

可以加上编码格式的设置,同时保证与数据库编码格式一致。

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门