三九宝宝网宝宝百科宝宝知识

如何更改mysql已有数据库的编码

02月28日 编辑 39baobao.com

[如何用cmd连接Mysql数据库MySQL教程]以window系统为例,首先,我们把鼠标移动到左下角的开始,点击【开始】按钮,找到【运行】,打开运行后,在输入框里面输入“cmd”,然后按回车键(也就是enter键),随即进入了cmd模式(一个背景...+阅读

MySQL中,数据库的编码是一个相当重要的问题,有时候我们需要查看一下当前数据库的编码,甚至需要修改一下数据库编码。

查看当前数据库编码的SQL语句为:

mysql> use xxx

Database changed

mysql> show variables like 'character_set_database';

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

| Variable_name | Value |

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

| character_set_database | latin1 |

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

1 row in set (0.00 sec)

上面,我们先切换到xxx数据库下面来,然后使用SQL语句:show variables like 'character_set_database'; 来查看了xxx数据库的编码。查询得到的结果是latin1编码。

下面,我们来修改xxx数据库的编码,把它修改为gb2312。

mysql> alter database xxx CHARACTER SET gb2312;

Query OK, 1 row affected (0.00 sec)

mysql> show variables like 'character_set_database';

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

| Variable_name | Value |

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

| character_set_database | gb2312 |

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

1 row in set (0.00 sec)

这里同样做了两件事情:

1、使用SQL语句:alter database xxx CHARACTER SET gb2312; 把xxx数据库的编码设置为了gb2312.

2、再次使用show variables like 'character_set_database'; 来确认一下当前xxx是什么编码。经过确认,数据库编码已经修改为gb2312了。

如何修改mysql编码

解决方法:打开mysql安装目录:C:\Program Files\MySQL\MySQL Server 5.5

打开文件my.ini配置文件,找到 default-character-set=latin1 并改为:

default-character-set=gbk,找到 character-set-server=latin1 并改为:

character-set-server=gbk,修改完之后保存。

最后:我的电脑右击 “管理”进入之后选择“服务和应用程序”下的“服务”

找到“mysql”之后右击选择“重新启动”。

把jsp页面中的<% page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>;改为<% page language="java" import="java.util.*" pageEncoding="UTF-8"%>;即可

如何修改mssql数据库编码

sql server 2000的unicode编码有特殊性,仅仅在rails中使用utf8编码,和把全部rails项目文件格式改成utf8之外,还是不够的。仅仅这样做,只是部分中文字符能够正确处理,而且存入sql server2000中的中文数据,也完全是乱码。正确的配置方法应该如下。

1. ms sql server2000中数据字段全部要选择成n打头的类型,比如ntext,nvarchar等。

2.安装ADO Driver

安装one -click installer 来安装ruby 的话就已经安装了所有连接SQL Server使用的需求包.但是,并没有安装ADO Driver.

这样来安装它:

在Ruby目录下找到这个目录: \ruby\lib\ruby\site_ruby\1.8\DBD .例如:我的Ruby安装在D:\ruby中,所以是这个目录D:\ruby\lib\ruby\site_ruby\1.8\DBD 在该目录中创建一个ADO文件夹. 下载Ruby-DBI,将lib/dbd_ado/ADO.rb文件拷贝到X:/ruby/lib/ruby/site_ruby/1.8/DBD/ADO/ADO.rb

3. 配置database.yml:Java代码

development:

adapter: sqlserver

database: database_name

host: server_name

username: user_name

password: your_pw_here

development:

adapter: sqlserver

database: database_name

host: server_name

username: user_name

password: your_pw_here

4.在environment.rb添加下面代码

require 'win32ole'

WIN32OLE.codepage = WIN32OLE::CP_UTF8

在这里稍微解释下第四部分的设置。sql server 2000中使用的unicode 并非是utf8,ado的默认链接编码都是当前系统e79fa5e98193e4b893e5b19e31333337396239设置的code pages相关的。

一般的windows设置都是非unicode的,比如简体中文windows系统下一般都是gb2312, 在rails中database.yml设置encoding: utf8,对于sql server没有任何用处。

为了迫使sql server接受utf8数据,必须修改ado链接的code pages值为utf8,才能让ado部分代码在接受rails传入的utf8数据之后,不做任何额外的处理. 否则的话,ado部分代码会根据当前系统的默认code pages值来处理这里字符数据。

于是在中文windows系统上,从utf8的rails项目中传入的数据,会被当作gb2312编码的数据来传递到sql server2000中,于是sql server2000中存入的数据会成为乱码,也有部分数据在处理过程中出错,导致sql 语句执行出错。比如常见的中文字符右边的单引号会不见的情况。

不设置 WIN32OLE.codepage = WIN32OLE::CP_UTF8,你的整个系统编码配置是这样的

rails(utf8)<-->ado(根据当前系统cp来取得编码,或是gb2312或是其他)<-->sql server 2000 (unicode)

整个系统编码不一至 。

WIN32OLE.codepage = WIN32OLE::CP_UTF8 这句代码就是为了更改cp值.整个系统编码配置是这样的

rails(utf8)<-->ado(utf8)<-->sql server 2000 (unicode)

整个系统编码一至,整个系统中不会再出现任何乱码。

以下为关联文档:

如何配置mysql数据库方法/步骤 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。如果是msi格式的可以直接点击安装,按照它给出的安装提示进行安装(相信大家的英文可以看懂英文提示),一般MySQ...

如何设置mysql数据库为utf8编码检查当前数据库编码。 使用语句: show variables like '%character%'; show variables like'%collation%'; 如果不是以上情况,需要将mysql编码设置为utf-8。具体步骤如下: 如果...

mysql分别获取已有数据date中的年月日分别用YEAR,MONTH,DAY函数,例如 mysql> select * from test; +------------+ | DATE | +------------+ | 2011-01-19 | | 2011-01-19 | | 206-01 | | 206-10 | | 207-10 | +-...

如何创建一个Mysql数据库命令:create database例1:建立一个名为xhkdb的数据库 mysql>create database xhkdb; 例2:创建数据库并分配用户 ①CREATE DATABASE 数据库名; ②GRANT SELECT,INSERT,UPDATE,DELE...

如何对MySQL数据库中的数据进行实时同步实现两个Mysql数据库之间同步同步原理: MySQL 为了实现replication 必须打开bin-log 项,也是打开二进制的MySQL 日志记录选项。MySQL 的bin log 二 进制日志,可以记录所有影响...

本地MySQL数据库怎么与远程MySQL数据库同步实现两个Mysql数据库之间同步同步原理: MySQL 为了实现replication 必须打开bin-log 项,也是打开二进制的MySQL 日志记录选项。MySQL 的bin log 二进制日志,可以记录所有影响到...

如何备份MYSQL数据库里的数据%Ymd%" "C:\。。 echo,2%"Ymd=%date:~5,2%%date:~8,4%%date把我下面的脚本,写成一个bat文件,进行必要的修改,执行就可以方便备份了;Program Files\。 echo off echo; md "D:\:~. ech...

如何备份Mysql数据库Mysql数据库的常用备份方法是使用使用实用程序mysqldump, 其命令格式如下 # mysqldump [options] database [tables] 其参数的含义为: options:代表mysqldump的选项,通过mysqldu...

如何安装mysql5 5数据库首先自然是下载mysql了,目前mysql的版本好像出到了5.5.29,而且mysql又分为了linux版本和windows版本,需要根据自己的需求下载对应的版本,小编的操作系统是windows的,所以就下载wi...

推荐阅读
图文推荐