mysql亂碼問題

2021-06-22 00:17:12 字數 1231 閱讀 2261

出現亂碼是因為字元編碼方式的問題 經過實測發現需要重建資料庫才可以顯示中文

查詢當前預設編碼方式:

show variables like "%char%";

避免出現亂碼

建立資料庫時不要使用預設編碼方式,

create database ***

character set 'utf8'

collate 'utf8_general_ci';

建表的時候也不要使用預設編碼方式

create table *** (

...) engine=innodb default charset=utf8;

設定預設編碼為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;

設定預設編碼為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;

innodb與myisam區別

**)

建資料庫的時候預設預設是innodb型別。innodb與 myisam型別的表區別,myisam型別不支援事務處理等高階處理,而innodb型別支援。 myisam型別的表強調的是效能,其執行數度比innodb型別更快,但是不提供事務支援,而innodb提供事務支援已經外部鍵等高階資料庫功能。這 樣就可以根據資料表不同的用處是用不同的儲存型別。

另外,myisam型別的二進位制資料檔案可以在不同作業系統中遷移。也就是可以直接從windows系統拷貝到linux系統中使用。

修改:alter table tablename engine = myisam;

alter table tablename engine= innodb;

mysql亂碼問題

原來使用過一段時間mysql,感覺簡單方便,很好用。但是今天使用居然發生了亂碼。經過在網上搜尋,很快解決了這個問題。亂碼的最終根源就是字符集問題。主要有以下原因 1.在建立資料庫時指定字符集 create database test character set gbk 2.也可以修改data目錄中相...

mysql亂碼問題!

1 修改 my.ini mysql server instance configuration 檔案 client section 客戶端 client port 3306 mysql default character set gbk server section 服務端 mysqld defau...

mysql 亂碼問題

mysql 中英文插入時,出現亂碼無法插入的問題。由於是ubuntu的機器,mysql的配置檔案是 etc mysql my.cnf 設定了下配置檔案my.cnf的編碼為utf8 client default character set utf8 default character set utf8...