mysql怎么修改已有数据库的编码方式

mysql怎么修改已有数据库的编码方式,第1张

方法/步骤

如果没有配置好cmd里面的mysql 环境变量,那就在系统高级设置那儿进行MySQL的环境变量设置。

win+R,调出“运行”,输入cmd,回车

登录数据库

查看数据库

查看数据库字符编码

通过MySQL命令行修改:(编码可选)

mysql> set character_set_client=utf8;

mysql> set character_set_connection=utf8;

mysql> set character_set_database=utf8;

mysql> set character_set_results=utf8;

mysql> set character_set_server=utf8;

mysql> set character_set_system=utf8;

mysql> set collation_connection=utf8;

mysql> set collation_database=utf8;

mysql> set collation_server=utf8;

当然还有:

修改数据库的字符集mysql>use mydb

mysql>alter database mydb character set utf8;

8

创建数据库指定数据库的字符集

mysql>create database mydb character set utf8;

在Unix下,可以编辑mycnf文件进行编码修改,Windows下可以直接用Mysql Server Instance Config Wizard 进行设置。

在linux下修改3个 mycnf 中 /etc/mysql/mycnf 文件

找到[client] 在下面添加

default-character-set=utf8 默认字符集为utf8

再找到[mysqld] 添加

default-character-set=utf8 默认字符集为utf8

init_connect='SET NAMES utf8' (设定连接mysql数据库时使用utf8编码,以让mysql数据库为utf8运行)

修改好后,重新启动mysql 即可,查询一下show variables like 'character%';

此方法用于标准mysql版本同样有效,对于/etc/mycnf文件,需要从mysql/support-files的文件夹复制 my-largecnf 到 /etc/mycnf 。

新建一个模板,比如 template_utf8 ,设置好UTF-8以及plpgsql之类的lang还有插件,从这个数据库新建就全是UFT-8了。

如果是更改的话,需要先把数据库导出为SQL, 再新建,而后导入。导入前,修改SQL里的create 语句,指定字符集。有汉字的话,另存为UTF-8的编码,再导入。

关键字:字符集gbkutf8开始表w的字符集设置成了gbk,但是现在的建的表要求字符集为utf8。于是:alter

table

`w`

default

character

set

utf8;或者alter

table

tbl_name

convert

to

character

set

charset_name;但是发现其中一个字段content的字符集还是gbk。于是更改mysql数据库表中某个字段的字符集,修改字段的定义:alter

table

`w`

modify

column

`content`

varchar(30)

character

set

utf8

not

null;

1、改客户端字符集:通过WINDOWS的运行菜单运行Regedit,修改注册表

Start -> Run -> Rededit <-|

Under registry Editor - > HKEY_LOCAL_MACHINE -> SOFTWARE ->ORACLE->KEY_XE->RIGHT WINDOW DOUBLE CLICK NLS_LANG -> CHANGE VALUE TO "AMERICAN_AMERICAUTF8" ->OK ->CLOSE REGISTRY

正确设置ORACLE客户端字符集的方法:

oracle客户端字符集设置需要和服务器端一致,否则会出现乱码问题。

首先连接服务器,查询服务器端设置:

select from v$nls_parameters;

找到:

NLS_LANGUAGE

NLS_TERRITORY

NLS_CHARACTERSET

环境变量nls_lang便是由这三部分组成

NLS_LANG = language_territorycharset

比如:

NLS_LANG = American_JapanJA16SJIS

2、改服务器端字符集,通过ORACLE的SQL PLUS命令窗口改

在SQLPLUS 中,以DBA登录

conn 用户名 as sysdba

然后执行以下命令

>shutdown immediate; (把database停了)

>startup mount; (把database重开去可更改情况)

>alter system enable restricted session;

>alter system set job_queue_processes=0;

>alter system set aq_tm_processes=0;

>alter database open;

>alter database character set utf8;

OR

>alter database character set internal_use utf8;

>shutdown immediate;

>startup; (重开正常oracle)

ORACLE数据库字符集修改完成!

本文对修改Oracle数据库字符集为UTF8的语句 *** 作讲解:查看字符集select userenv('language') from dual;1conn/as sysdba2执行下面代码:SHUTDOWN IMMEDIATE;STARTUP MOUNT EXCLUSIVE;ALTER SYSTEM ENABLE RESTRICTED SESSION;ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;ALTER SYSTEM SET AQ_TM_PROCESSES=0;ALTER DATABASE OPEN;(------------如果有问题请在此插入下面语句--------------)ALTER DATABASE NATIONAL CHARACTER SET UTF8;ALTER DATABASE CHARACTER SET UTF8;SHUTDOWN immediate;STARTUP;如果修改出现问题时请调用下面语句再执行一次就可以了ALTER DATABASE NATIONAL CHARACTER SET INTERNAL_USE UTF8;

以上就是关于mysql怎么修改已有数据库的编码方式全部的内容,包括:mysql怎么修改已有数据库的编码方式、mysql数据库怎么改它的字符集编码、如何修改数据库的字符集等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10064241.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-04
下一篇2023-05-04

发表评论

登录后才能评论

评论列表(0条)

    保存