illegal mix of collations (utf8_general_ci,implicit) and (utf8_unicode_ci,implicit) for operation '='
兩個比較的字段排序規則或者字元編碼不一致,不能進行比較
1.呼叫乙個sql指令碼,批量生成sql執行語句,然後再執行這些生成的sql語句,修改其中乙個欄位的字元編碼。
將所有資料型別為varchar型別的資料變成utf-8編碼和utf8_general_ci排序規則:
select concat(
'alter table `
', table_name, '
` modify `
', column_name, '
` ', data_type, '(', character_maximum_length, ') character set utf8 collate utf8_general_ci', (case when is_nullable =
'no' then ' not null' else '' end), ';'
)from information_schema.columns
where table_schema =
'databasename'
and data_type =
'varchar'
and(
character_set_name !=
'utf8'
orcollation_name !=
'utf8_general_ci'
);
**注意**:databasename改為當前資料庫名字,其他不變

2.執行這些生成的sql語句
結果:
oracle資料庫亂碼解決,字符集編碼問題
在將其它資料庫的資料匯出檔案匯入本地新建資料庫時,所匯入的資料全部是亂碼,一般表現為資料表中列的值類似於 即內容大部分為?的表現形式。初步判斷是因為oracle客戶端與資料庫編碼不一致所導致。亂碼問題在各類技術很多地方都普遍可能存在,其根本原因主要是資料編碼不一致導致。根據其原理排查資料編碼,基本都...
修改mysql資料庫字符集編碼
1 修改新建資料庫預設字符集編碼 mysql5.5以上 mysqld 下新增 character set server utf8 collation server utf8 general ci 2 修改已存在資料庫字符集編碼 登入 mysql uroot p 選擇資料庫 use dbname 檢視...
oracle資料庫字符集編碼問題
1,查詢資料庫伺服器字符集,其 於props 是表示資料庫的字符集 select from nls database parameters 2,客戶端字符集環境select from nls instance parameter,其 於v parameter,表示客戶端的字符集的設定,可能是引數檔案...