避免中文亂碼的完整流程:
# 建庫時,指定字符集和排序規則
create database `company` character set utf8 collate utf8_general_ci;
# 建表時,指定字符集
create table `employee` (
`id` bigint(20) not null auto_increment,
`name` varchar(20) not null,
`address` varchar(100) not null,
`entrytime` datetime not null,
primary key (`id`),
) engine=myisam auto_increment=100000051 default charset=utf8;
# 修改配置檔案,增加如下配置項
# linux下,配置檔案為/etc/my.cnf
# windows下,配置檔案為c:\program files\mysql\my.ini
[mysqld]
default-character-set = utf8
[client]
default-character-set = utf8
# 重啟mysql服務
# linux下
service mysqld restart
# windows下(假如對應的服務名為mysql5)
net stop mysql5
net start mysql5
如果仍然沒有解決亂碼問題,先來科普一下:
# 檢視mysql的編碼:show variables like "%char%";
# 各項的含義:
character_set_server:預設的內部操作字符集
character_set_client:來自客戶端的資料使用的字符集
character_set_connection:連線層字符集
character_set_results:發往客戶端的結果的字符集
character_set_database:當前選中資料庫的預設字符集
character_set_system:系統元資料(欄位名等)字符集
# 再看看這個圖:
# 分析問題所在,如果上述各項都是utf8,請排查客戶端程式(如php)。
下面以php為例:
# 建立資料庫連線時,就設定一下,見截圖:
# 因為使用了json_encode( )方法,所以要在其前後做些擦屁股的工作:
# 擦在前面,見截圖:
# 擦在後面,見截圖:
參考:
mysql亂碼原理 MySQL中亂碼原理分析
問題描述 假定建立資料庫時採用的是utf8編碼方式 create database huangweiyi default character set utf8 經常在windows的cmd視窗中插入帶有中文的記錄到mysql表中時會出現插入錯誤,或者在查詢mysql中資料顯示是出現亂碼 首先插入中文...
mysql中中文問題 mysql中中文亂碼的問題
1 在使用mysql時,會出現中文亂碼現象。如下圖 先在cmd中查詢預設的編碼格式 從上圖可以看到在database和sever兩個選項中編碼格式為latin1 上圖也可以看到紅框部分預設的是瑞典latin1,下面是換成我們自己的編碼,如utf8 1.set names utf8 它相當於下面的三句...
mysql 路徑空格 MySQL安裝
mysql 安裝 將檔案解壓到想要安裝的目錄 注意 路徑中不能有中文和空格 配置系統環境變數 複製到bin目錄下 在bin目錄的同級目錄下建立my.ini配置檔案 以管理員身份開啟cmd,切換到bin目錄下.二 重置密碼 1.管理員身份開啟命令視窗cmd,輸入命令 net stop mysql,停止...