MySql数据库乱码解决方法

解决乱码问题一个原则:存取系统使用一致的编码规则。

多使用mysql的原生命令行,这样才能做更多的事情。

第一步:

确认应用系统需要使用的编码

java的默认编码是跟随系统的,有的说是默认UNICode,在java中可以使用 String defaultCharsetName=Charset.defaultCharset().displayName();显示编码。

第二步:

确认并设置MySql的数据库的编码

1. 显示编码,简单的方法命令是:status; 或者mysql> SHOW VARIABLES LIKE 'character%';

mysql> status

--------------

C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysql.exe  Ver 14.12 Distrib 5

.0.67, for Win32 (ia32)

Connection id:          3

Current database:

Current user:           root@localhost

SSL:                    Not in use

Using delimiter:        ;

Server version:         5.0.67-community-nt MySQL Community Edition (GPL)

Protocol version:       10

Connection:             localhost via TCP/IP

Server characterset:    gbk

Db     characterset:    gbk

Client characterset:    gbk

Conn.  characterset:    gbk

TCP port:               3306

Uptime:                 12 min 59 sec

Threads: 3  Questions: 32  Slow queries: 0  Opens: 32  Flush tables: 1  Open tab

les: 26  Queries per second avg: 0.041

--------------

2. 修改编码

确保万无一失必须所有的都设置成需要的字符,这里我们以utf8为例子。

2.1 my.ini配置文件中的修改,(命令行中使用set设置的重启服务后会失效),各个标签下面的都需要修改:

C:\Program Files (x86)\MySQL\MySQL Server 5.0\my.ini

[client]

  default-character-set=utf8

  [mysql]

  default-character-set=utf8

  [mysqld]

  default-character-set=utf8

2.2 Server characterset是没办法在配置文件中修改的,但也不用重装数据库,只需要重新启动配置程序MySQLInstanceConfig.exe就可以了。

C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\MySQLInstanceConfig.exe

在选择编码的地方选择utf8就可以了,默认的是Latin1。选的二个或者第三个,第二个默认就是UTF8, 第三个手动选UTF8.

第三步:

重启mysql服务

cmd下:

net stop mysql

net start mysql

mysql> use qba_db;

Database changed

mysql> status;

--------------

C:\Program Files (x86)\MySQL\MySQL Server 5.0\bin\mysql.exe  Ver 14.12 Distrib 5

.0.67, for Win32 (ia32)

Connection id:          168

Current database:       qba_db

Current user:           root@localhost

SSL:                    Not in use

Using delimiter:        ;

Server version:         5.0.67-community-nt MySQL Community Edition (GPL)

Protocol version:       10

Connection:             localhost via TCP/IP

Server characterset:    utf8

Db     characterset:    utf8

Client characterset:    utf8

Conn.  characterset:    utf8

TCP port:               3306

Uptime:                 20 days 11 hours 4 min 19 sec

Threads: 5  Questions: 3224  Slow queries: 0  Opens: 151  Flush tables: 1  Open

tables: 0  Queries per second avg: 0.002

--------------

SHOW VARIABLES LIKE 'character%';

-- Variable_name Value
-- character_set_client latin1
-- character_set_connection latin1
-- character_set_database utf8
-- character_set_filesystem binary
-- character_set_results latin1
-- character_set_server gbk
-- character_set_system utf8
-- character_sets_dir D:\Program Files\phpStudy\MySQL\share\charsets\

set character_set_client=utf8;
set character_set_connection=utf8;
set character_set_database=utf8;
set character_set_results=utf8;
set character_set_server=utf8;
set character_set_system=utf8;

-- set collation_connection=utf8;
-- set collation_database=utf8;
-- set collation_server=utf8;

MySql数据库乱码解决方法的更多相关文章

  1. mysql数据库乱码解决方法之一

    在前端页面向数据库中插入带中文字符的数据,到数据库时中文都变成了"?",其中jsp页面已经是设为utf-8编码的,建数据库时选择的编码也是utf-8; 1.解决的办法是在连接数据库 ...

  2. php mysql 中文乱码解决方法

    本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...

  3. mysql 数据库乱码解决

    mysql 数据库乱码解决, 进入前加入 set names 'utf8'  即可.

  4. 可遇不可求的Question之导入mysql中文乱码解决方法篇

    可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?

  5. mysql查询乱码解决方法

    http://blog.csdn.net/u012408083/article/details/52734762 MySQL 命令行查询乱码 编码问题 当使用数据库工具查询数据时显示数据正常,中文也很 ...

  6. 远程访问TeamTalk的Mysql数据库被拒解决方法

    1.A Database Error Occurred 问题如图: 蓝狐给的解答是: 这是访问mysql出错了.解决办法参考:http://www.bkjia.com/jingyan/512248.h ...

  7. mysql中文乱码解决方法

    latin1(1和l的区别,l要么没有缺缺,要么缺缺是向左的直的; 1向左的缺缺是弯曲的,应该是可以看得出来的)是8位的字符集,表示英文和西欧字母. 瑞士: Switzerland [swits2la ...

  8. mysql 中文乱码解决方法

    最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=u ...

  9. JSP 表单提交 数据库乱码解决方法

    问题:有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码. 乱码分析:因为 ...

随机推荐

  1. android 定义 程序 Scheme 接收特定URI开启Activity

    场景:通过浏览器打开URL或者扫描软件扫描URL来启动本地应用 <intent-filter> <category android:name="android.intent ...

  2. DWG2SHP DXF2SHP 如何把AutoCAD的DWG,DXF文件转换为Esri ArcGIS的Shape文件

    dwg是AutoCAD创立的一种图纸保存格式,已经成为二维CAD的标准格式,很多其他CAD为了兼容AutoCAD,也直接使用dwg作为默认工作文件. 地图shape文件由ESRI开发,一个ESRI的s ...

  3. 关于JS Date 时间计算

    倒计时功能Demo:http://play.163.com/special/test-timeending/?1465197963677 获取时间 Date() 返回当日的日期和时间. getDate ...

  4. 【C-数据类型 常量 变量】

    一.基本数据类型 1) 整型 (int   %d) 2) 字符型 (char  %c) 3) 浮点型 %f ①. 单精度浮点型(float) ②. 双精度浮点型(double) 2.指针类型 void ...

  5. 原来在linux上切换jdk的版本是这么简单

    上次在linux上切换jdk版本的时候,还配置了半天的环境变量,今天又查了一下,原来是这么的简单 1. 查看相应的jdk是否在 ubuntu的jdk菜单里,查看: (输全哦) update-alter ...

  6. Oracle Created (Default) Database Users

    http://www.idevelopment.info/data/Oracle/DBA_tips/Database_Administration/DBA_26.shtml DBA Tips Arch ...

  7. svn忽略eclipse自动生成的文件

    工程目录下右键,选择“TortoiseSVN”——“Settings”菜单 选择“General”,在“Global ignore pattern”输入框的最前面添加 .settings .class ...

  8. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...

  9. 如何快速把hdfs数据动态导入到hive表

    1. hdfs 文件   {"retCode":1,"retMsg":"Success","data":[{" ...

  10. SQL Server 存储(3/8):理解GAM和SGAM页

    我们知道SQL Server在8K 的页里存储数据.分区就是物理上连续的8个页.当我们创建一个数据库,数据文件会被逻辑分为页和区,当用户对象创建时,页会分配给它用来存储数据.GAM(Global Al ...