首页 > 数据库 >MySQL设置字符编码

MySQL设置字符编码

时间:2023-12-11 19:47:58浏览次数:32  
标签:编码 set name utf8mb4 MySQL character 字符 sql mysql

MySQL设置字符编码

一、8.0设置字符集

# vim /etc/mysql/my.cnf
[mysqld]
port=3306                            
character-set-client-handshake=FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci   #相对应的排序规则
init_connect='SET NAMES utf8mb4'


[client]    
default-character-set=utf8mb4


[mysql]    
default-character-set = utf8mb4  

修改后,重启mysql:sudo systemctl restart mysql.service

如果数据库已经创建好了,需要把修改编码。

SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%'

二、5.6设置字符编码配置

设置字符集

# vim /etc/mysql/my.cnf

# 对本地的mysql客户端的配置
[client]
default-character-set = utf8mb4

# 对其他远程连接的mysql客户端的配置
[mysql]
default-character-set = utf8mb4

# mysql服务器的配置
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

character-set-client-handshake = FALSE

修改后,重启mysql:sudo systemctl restart mysql.service

如果数据库已经创建好了,需要把修改编码。

ALTER DATABASE databasename CHARACTER SET utf8 COLLATE utf8_general_ci;
SHOW VARIABLES WHERE Variable_name LIKE 'character\_set\_%' OR Variable_name LIKE 'collation%';

三、设置字段字符编码

django迁移做外键关联会失败

1.自动生成sql语句

修改要查的字符编码:COLLATION_NAME = 'utf8_general_ci';执行mysql.sql语句,然后执行命令

mysql -uroot -p < mysql.sql > test.sql 生产sql文件

img

vim mysql.sql
# 输入一下内容
use devops;                                                                                                      
SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci', ';') FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = 'devops'   and DATA_TYPE = 'varchar'   and COLLATION_NAME = 'utf8_general_ci';

2执行sql语句

source ./test.sql # 断关联执行SQL语句

img

标签:编码,set,name,utf8mb4,MySQL,character,字符,sql,mysql
From: https://www.cnblogs.com/randysun/p/17895392.html

相关文章

  • mysql安装及环境变量配置
    1.把下载的压缩包放到安装目录下后解压2.环境变量中path里添加mysql安装文件下bin目录的路径3.在mysql中bin的同级目录下新建my.ini配置文件4.编辑my.ini[mysqld]basedir=C:\mysql\mysql-5.7.19-winx64\datadir=C:\mysql\mysql-5.7.19-winx64\data\port=3306skip-grant-tables5.管......
  • linux mysql libmysqlcppconn select,update mysql
    #include<chrono>#include<cstring>#include<ctime>#include<fstream>#include<iomanip>#include<iomanip>#include<iostream>#include<memory>#include<mutex>#include<queue>#include<......
  • mysql存json数据时的查询办法
    很多时候mysql的一列当中存的是json格式的数据,这时候如果要查询某个key对应的值的时候要如何查询呢,这里记录一种查询方法:json列的值:{“InventoryMainTypeCode”:1,“InventoryMainTypeName”:“GOOD”}现在要查询InventoryMainTypeCode为xxx或者InventoryMainTypeName为xxx的数......
  • (C语言)关于printf的新发现: 可以用字符串变量替代第一个字符串参数
    chara[]="hello%d\n%dworld";printf(a,2,3);//输出://hello2//2world事情的起因是使用printf("\033[0;47;30m");改变命令行字体背景和颜色的时候,室友提起能否让用户改变字体颜色。因为那需要改变printf("");里双引号中的内容,我就下意识觉得不行,但又转念一想,想到了这种......
  • 报错:Client does not support authentication protocol requested by server; consider
    IDEA启动项目登录时显示用户或密码错误或者连接mysql数据库时报错原因:mysql8之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,所以可以需要改变mysql的加密规则打开cmd窗口,登录mysql;mysql-uroot-h127.0.0.1-P3306-p......
  • 深度学习面试常用代码:MHA/MQA/GQA/LN/BN/位置编码代码
    深度学习常用代码参考:https://zhuanlan.zhihu.com/p/6505754261.MHA(MultiHeadAttention)代码实现#1.MHA实现importtorchimporttorch.nnasnnimporttorch.nn.functionalasFclassScaleDotProductAttention(nn.Module):def__init__(self,):......
  • 【C系列5.4】指针专题之分割字符串(strtok与gets的应用)(hznuoj)
    Description Alex的好朋友都去生猴子了,所以她只好百无聊赖地继续玩字符串游戏。输入一个长度不超过10000的字符串,字符串中只含字母和空格,空格用于分隔单词,请将字符串中用空格分隔的单词输出来。 Input 输入含多组测试数据,每组占一行,是一个长度不超过10000的字符串,只含字......
  • MySQL中的日期函数
    1.查看日期/时间1.1查看当前的日期/时间(1)NOW():返回当前的日期时间;(2)CURDATE():返回当前的日期;(3)CURTIME():返回当前的时间;SELECTNOW(),CURDATE(),CURTIME();NOW()/CURDATE()/CURTIME()1.2提取指定的日期/时间成分(1)YEAR():提取年份;(2)MONTH():提取月份;(3)DAY():提取天(号/日);(4......
  • 在使用strlen() 函数判断一个字符串长度后重新开辟一个内存存放时要+ 1
    typedef struct{    char *id;    char *name;    int score1;    int score2;    int score3;} Stu;intmain(){Stu*stutmp=(Stu*)malloc(sizeof(Stu));if(stutmp==NULL){returnNULL;}charidtmp......
  • 字符串用法
    数字类型整数类型oct八进制hex十六进制bin二进制浮点数类型isdigit()isdecimal()字符串类型拼接join索引取值正向索引负向索引切片name='dream'#顾头不顾尾print(name[0:3])#[0:end]print(name[:3])#[0:结尾]prin......