mysql编码修改utf8_修改数据库mysql字符编码为UTF8

MySQL会出现中文乱码的原因不外乎下列几点:

1.server本身设定问题,例如还停留在latin1

2.table的语系设定问题(包含character与collation)

3.客户端程式(例如php)的连线语系设定问题 强烈建议使用utf8!!!!

utf8可以兼容世界上所有字符!!!!

一、避免创建数据库及表出现中文乱码和查看编码方法

1、创建数据库的时候:CREATE DATABASE `test`

CHARACTER SET 'utf8'

COLLATE 'utf8_general_ci';

2、建表的时候  CREATE TABLE `database_user` (

`ID` varchar(40) NOT NULL default '',

`UserID` varchar(40) NOT NULL default '',

)ENGINE=InnoDB DEFAULT CHARSET=utf8;

这3个设置好了,基本就不会出问题了,即建库和建表时都使用相同的编码格式。

但是如果你已经建了库和表可以通过以下方式进行查询。

1.查看默认的编码格式:

243a60ba6a114d1b2a74b66871d782c3.png

注:以前2个来确定,可以使用set names utf8,set names gbk设置默认的编码格式;

执行SET NAMES utf8的效果等同于同时设定如下:

SET character_set_client='utf8';

SET character_set_connection='utf8';

SET character_set_results='utf8';

1b75f76ee636efab11ae68b67a56401b.png

2.查看testjdbc数据库的编码格式:

d4714cd38fc88dd4e30449f88892509c.png

3.查看citydatabase据库的编码格式:

ce355f4d81cf58b8469ac7e77fa0832f.png

二、避免导入数据有中文乱码的问题

1:将数据编码格式保存为utf-8 设置默认编码为utf8: set names utf8;

设置数据库db_name默认为utf8:

ALTER DATABASE `db_name`

DEFAULT CHARACTER SET utf8

COLLATE utf8_general_ci;

设置表tb_name默认编码为utf8:

ALTER TABLE `tb_name`

DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

导入: LOAD DATA LOCAL INFILE 'C:\\utf8.txt' INTO TABLE yjdb;

2:将数据编码格式保存为ansi(即GBK或GB2312) 设置默认编码为gbk:

set names gbk;

设置数据库db_name默认编码为gbk:

ALTER DATABASE `db_name`

DEFAULT CHARACTER SET gbk

COLLATE gbk_chinese_ci;

设置表tb_name默认编码为gbk:

ALTER TABLE `tb_name`

DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

导入: LOAD DATA LOCAL INFILE 'C:\\gbk.txt' INTO TABLE yjdb;

注:1.UTF8不要导入gbk,gbk不要导入UTF8;

2.dos下不支持UTF8的显示;

三、解决网页中乱码的问题   将网站编码设为 utf-8,这样可以兼容世界上所有字符。

如果网站已经运作了好久,已有很多旧数据,不能再更改简体中文的设定,

那么建议将页面的编码设为 GBK,

GBK与GB2312的区别就在于:

GBK能比GB2312显示更多的字符,要显示简体码的繁体字,就只能用GBK。

1.编辑/etc/my.cnf ,在[mysql]段加入default_character_set=utf8;

2.在编写Connection URL时,加上?useUnicode=true&characterEncoding=utf-8参;     3.在网页代码中加上一个"set names utf8"或者"set names gbk"的指令,

告诉MySQL连线内容都要使用 utf8或者gbk;

### 回答1: 要将 SQL Server 编码更改为 UTF-8,您需要执行以下步骤: 1. 在 SQL Server Management Studio 中打开查询编辑器。 2. 运行以下命令: ``` ALTER DATABASE [database_name] COLLATE utf8_general_ci; ``` 其中,`[database_name]` 是要更改编码数据库的名称。 3. 确认更改。 您可以运行以下命令来确认更改是否成功: ``` SELECT DATABASEPROPERTYEX('[database_name]', 'Collation') SQLCollation; ``` 如果 `SQLCollation` 的结果是 `utf8_general_ci`,则说明更改已成功。 请注意,更改数据库编码将影响该数据库中所有编码。因此,在执行此更改之前,请务必备份您的数据库以防止数据丢失。 ### 回答2: SQL Server是一款流行的关系型数据库系统,它默认使用的编码方式是Windows-1252,这种编码方式在西欧国家广泛使用,但是在其他地区可能存在兼容性问题。如果我们需要在SQL Server中存储非西欧语言的数据,比如中文、日文和韩文等,就需要将编码方式修改为UTF-8。 1. 确认数据库版本 在对SQL Server进行编码修改之前,需要确认数据库的版本。因为版本不同,修改方式也不同。可以通过查询 @@version 获取数据库版本信息。 2. 修改数据库编码方式 SQL Server 2019以及以上版本提供了内置的utf8mb4编码。可以通过以下两种方式中任意一种进行修改: 方式一:使用命令行工具 打开命令行工具,进入SQL Server安装目录下的bin文件夹。然后输入以下命令: sqlcmd -S localhost -U sa -P password -Q "ALTER DATABASE 数据库名 SET COMPATIBILITY_LEVEL = 150 COLLATE Latin1_General_100_CI_AS_SC_UTF8" 其中,“-S”示连接SQL Server的实例,localhost为本地电脑,如果是远程服务器请输入相应的服务器IP地址;“-U”示连接用户名,这里默认使用SQL Server的管理员账号“sa”;“-P”示连接用户密码;“ALTER DATABASE”修改数据库信息的命令;“COMPATIBILITY_LEVEL”指定兼容性级别的选项,默认值为130,而切换到UTF-8编码需要在150级别以上;“COLLATE Latin1_General_100_CI_AS_SC_UTF8修改数据库校对规则,将其修改为对应的UTF-8编码。 方式二:使用SQL Server Management Studio 打开SQL Server Management Studio,右键点击需要修改编码数据库,选择“属性”进入属性页面。在“选项”中,找到“兼容性级别”选项,将其修改为150级别以上。然后在“选择一个默认的排序规则”中,选择对应的UTF-8编码方式。最后点击“OK”即可保存修改的设置。 3. 验证编码修改结果 修改数据库编码方式之后,需要验证编码修改结果是否符合预期。可以通过以下步骤进行验证: ① 查询数据库编码方式:可以使用以下命令查询数据库编码方式: select databasepropertyex('数据库名', 'Collation'); 返回值中包含了数据库编码方式信息。 ② 插入和查询数据:可以尝试在数据库中插入一些包含中文字符的数据,并查询这些数据,验证插入和读取是否正常。可以使用以下命令进行测试: INSERT INTO 名 (列名1 , 列名2) VALUES ('中文字符1', '中文字符2'); SELECT * FROM 名; 如果插入和读取都正常,则说明修改编码方式成功。 4. 注意事项 在修改SQL Server编码方式时,需要注意以下事项: 1)在修改编码方式之前,需要对数据库进行备份,以便出现错误时进行恢复。 2)只有在使用最新版本的SQL Server及以上版本才可以使用utf8mb4编码。 3)编码方式的修改可能会导致现有应用程序、查询和存储过程出现问题,需要对这些程序进行检查和修改。最好在修改编码方式之前,进行测试和评估。 4)如果数据库中已经存在数据,且这些数据的编码方式不同于要修改编码方式,那么在修改编码方式之后,这些数据可能会出现乱码。需要对这些数据进行转换,重新导入到数据库中。 总之,在修改SQL Server编码方式之前,需要详细了解数据库版本和数据特征,仔细评估可能导致的影响,并做好相关备份和数据转换工作,确保数据库修改编码方式后能够正常运行。 ### 回答3: SQL Server是微软公司开发的关系型数据库管理系统,用于管理和操作企业级数据库。默认情况下,SQL Server使用的是Windows编码,而不是常用的UTF-8编码。如果需要在SQL Server中存储、处理、传输基于UTF-8编码的数据,就需要对其进行修改。 步骤如下: 1. 首先,在SQL Server Management Studio中登录需要修改字符集的数据库实例。 2. 在“数据库”节点下选择需要修改数据库,右键单击该数据库,选择“属性”。 3. 在“属性”对话框中选择“选项”选项卡,找到“字符集”选项,将其更改为“UTF8”。 4. 确认修改后,重启SQL Server实例,使修改生效。 5. 修改完毕后使用以下SQL脚本检查数据库字符集是否修改成功: SELECT DATABASEPROPERTYEX('your_database_name', 'Collation') AS 'Collation_Setting' 如果Collation_Setting的值为“UTF8”,则示已经成功修改字符集。 需要注意的是,UTF-8 字符集使用的字节长度可能比Windows字节长度大,修改字符集的同时,还需要修改数据库中相关和字段的定义,确保其能够正确地处理UTF-8编码下的数据。同时,还应注意数据库中如果有存储中文、日语等非英文语言,由于UTF-8的编码方式和Windows的不同,也需要特殊处理以防出现乱码等问题。 修改SQL Server编码为UTF-8可以使数据库更加兼容和友好,能够更好地处理非英文语言及特殊字符,提升数据库的可用性和易用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值