最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【Mysql】How to store UTF8 characters in MySQL

2023-08-25 09:43 作者:懶時小窩  | 我要投稿

Part1原文

How to store UTF8 characters in MySQL - Ubiq BI

Part2引言

關于 《如何在MySQL中存儲UTF8字符》 的一篇英文博客閱讀和個人實戰(zhàn)筆記。注意個人實驗過程中使用了docker的Mysql 5.7 版本,讀者可以根據(jù)自身情況調整。

Part31. Shell 檢查字符集

如果不習慣Linux的小黑框,最簡單的方式是用navicat的命令行工具查詢,注意用戶需要具備對應的系統(tǒng)配置權限,建議用root操作:

首先我們右擊navicat的數(shù)據(jù)庫連接配置(已準備好),選擇“命令列界面”:

image.png

之后是navicat仿照的Shell,等待用戶輸入:

image.png

運行下面的命令可以查看所有字符集配置:

SHOW VARIABLES LIKE 'character_set%';

個人的實驗結果如下:

mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | latin1 ? ? ? ? ? ? ? ? ? ? | | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+ 8 rows in set (0.03 sec)

可以看到字符集并不統(tǒng)一。

Part42. 修改字符集為UTF-8

個人使用為docker的mysql自定義映射的配置文件位置,和原始的安裝方式配置文件配置略有不同。不過基本的操作方式都是修改my.cnf的配置:

[client]?
default-character-set=utf8mb4?
[mysqld]?
character-set-server?=?utf8mb4

個人操作記錄如下,定位到映射文件位置之后,直接vim修改配置文件:

[root@localhost?conf]#?vim?/opt/mysql/conf/mysql.cnf?

在配置文件當中做如下改動:

[root@localhost?conf]#?cat?/opt/mysql/conf/mysql.cnf?
#?mysqld?custom
[mysqld]
#?下面部分可以忽略
sort_buffer_size?=?16M
read_rnd_buffer_size?=?2M
max_connections?=?10024

#?set?character?to?utf-8
character-set-server?=?utf8mb4

[client]
#?注意客戶端連接也要一并設置
default-character-set=utf8mb4

修改之后重啟docker的mysql鏡像。

[root@localhost?conf]#?docker?ps?
CONTAINER?ID???IMAGE???????COMMAND??????????????????CREATED???????STATUS???????PORTS????????????????????????????????????????????????????NAMES
58fa52f21404???mysql:5.7???"docker-entrypoint.s…"???3?hours?ago???Up?2?hours???33060/tcp,?0.0.0.0:13306->3306/tcp,?:::13306->3306/tcp???mysql57

重啟之后萬事大吉。

[root@localhost?conf]#?docker?restart?58f

之后依舊是連接mysql數(shù)據(jù)庫,繼續(xù)使用show variables like 'character%';命令查看當前字符集。

修改之前:

mysql> SHOW VARIABLES LIKE 'character_set%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | latin1 ? ? ? ? ? ? ? ? ? ? | | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

修改之后結果如下:

mysql> show variables like 'character%'; +--------------------------+----------------------------+ | Variable_name ? ? ? ? ? ?| Value ? ? ? ? ? ? ? ? ? ? ?| +--------------------------+----------------------------+ | character_set_client ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_connection | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_database ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_filesystem | binary ? ? ? ? ? ? ? ? ? ? | | character_set_results ? ?| utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_server ? ? | utf8mb4 ? ? ? ? ? ? ? ? ? ?| | character_set_system ? ? | utf8 ? ? ? ? ? ? ? ? ? ? ? | | character_sets_dir ? ? ? | /usr/share/mysql/charsets/ | +--------------------------+----------------------------+

Part53. 數(shù)據(jù)表轉換為UTF-8

運行下面的命令,將你的數(shù)據(jù)庫的字符集和排序改為UTF8。用你的數(shù)據(jù)庫名稱替換下面的dbname。

ALTER DATABASE dbname CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`

dbname 修改為自己的數(shù)據(jù)庫即可

上述命令將把你的數(shù)據(jù)庫中的所有表轉換為UTF8MB4 格式。


【Mysql】How to store UTF8 characters in MySQL的評論 (共 條)

分享到微博請遵守國家法律
巧家县| 池州市| 黔东| 济源市| 始兴县| 高安市| 甘南县| 通化县| 石景山区| 晋中市| 梁河县| 汉川市| 齐齐哈尔市| 昌图县| 化德县| 麻栗坡县| 房产| 长沙市| 历史| 大同县| 蒙山县| 宁夏| 金门县| 阜城县| 柳州市| 清河县| 郑州市| 泸水县| 泸西县| 鄂托克前旗| 石屏县| 小金县| 鄂温| 苍南县| 云阳县| 沿河| 沁阳市| 嘉善县| 新化县| 绿春县| 秭归县|