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数据库乱码解决方法的更多相关文章
- mysql数据库乱码解决方法之一
在前端页面向数据库中插入带中文字符的数据,到数据库时中文都变成了"?",其中jsp页面已经是设为utf-8编码的,建数据库时选择的编码也是utf-8; 1.解决的办法是在连接数据库 ...
- php mysql 中文乱码解决方法
本文章向码农们介绍php mysql 中文乱码解决方法,对码农们非常实用,需要的码农可以参考一下. 从MySQL 4.1开始引入多语言的支持,但是用PHP插入的中文会出现乱码.无论用什么编码也不行 解 ...
- mysql 数据库乱码解决
mysql 数据库乱码解决, 进入前加入 set names 'utf8' 即可.
- 可遇不可求的Question之导入mysql中文乱码解决方法篇
可遇不可求的Question之导入mysql中文乱码解决方法篇 先 set names utf8;然后 source c:\1.sql ?
- mysql查询乱码解决方法
http://blog.csdn.net/u012408083/article/details/52734762 MySQL 命令行查询乱码 编码问题 当使用数据库工具查询数据时显示数据正常,中文也很 ...
- 远程访问TeamTalk的Mysql数据库被拒解决方法
1.A Database Error Occurred 问题如图: 蓝狐给的解答是: 这是访问mysql出错了.解决办法参考:http://www.bkjia.com/jingyan/512248.h ...
- mysql中文乱码解决方法
latin1(1和l的区别,l要么没有缺缺,要么缺缺是向左的直的; 1向左的缺缺是弯曲的,应该是可以看得出来的)是8位的字符集,表示英文和西欧字母. 瑞士: Switzerland [swits2la ...
- mysql 中文乱码解决方法
最近在.NET 项目中用EF连接mysql,插入中文数据时老是显示乱码,在创建表时都已将编码指定了,但是还是出现乱码,折腾了一阵子才发现在连接字符串里面也要加上指定编码 Character Set=u ...
- JSP 表单提交 数据库乱码解决方法
问题:有时候在做jsp逻辑处理时,比如提交表单,从前台注册的页面提交了一部分的数据,但是后面处理的JSP页面通过 request.getParameter 调用时,获取到的是一堆乱码. 乱码分析:因为 ...
随机推荐
- 错误 1 error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
不知怎么本来编译好好的VS2010环境,忽然出现“转换到 COFF 期间失败: 文件无效或损坏”的链接错误.花了好多天,试了好多方法,最终解决了这个问题. 现在罗列一下这几种解决方案: 方案1:点击“ ...
- [转]JavaScript字符串函数大全
JS自带函数concat将两个或多个字符的文本组合起来,返回一个新的字符串.var a = "hello";var b = ",world";var c = a ...
- Number of 1 Bits
class Solution { public: int hammingWeight(uint32_t n) { string aaa = toBinary(n); ; ; i < sizeof ...
- 使用.net Reflector手动修改单个dll文件
在项目中修改bug会存才版本混乱的问题,加上dll中的依赖项目比较多,想要修改单个dll文件中的少量代码是很麻烦的. 可以使用Reflector和Reflexil可以手动修改单个dll文件,我使用的是 ...
- Request三种获取数据的方式
今天在做ajax请求后台代码时,发现ajax的方法都对,但就是请求不了后台代码,后来在同事帮助下才发现前台定义了两个相同参数导致请求出错. 下面记录一下request三种获取数据的方式: 1. Req ...
- Jquery 表单验证
<html> <head> <meta http-equiv="content-type" content="tex ...
- 解决Win7下VC6.0插入ActiveX控件对话框为空的问题
在Win7环境下,编写MFC应用程序,Project菜单下Add To Project子菜单中的 Components and Controls…选项,在弹出的对话框中Gallery文件为空,也就无法 ...
- 添加Labels的两种方法
private void AddLabel(IFeatureLayer pLayer,string fieldname,ITextSymbol Symbol) { container.DeleteAl ...
- GP调用arctoolbox 以Clip为例
GP的功能非常强大,也是GIS建模的一个很重要的工具.在Arcengine中,实现Clip功能很多种方法,可以用IBasicGeoprocessor的clip方法,但是GP无疑是最简单的. publi ...
- python Scrapy
由于项目要使用新闻,大量的数据所以想到了python的scrapy 下面大致讲一讲如何安装使用,直到整个新闻采集模块完成,网址什么的自己找 这里只是示范这里的项目环境是python 2.66 cent ...