自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

兩個(gè)MySQL存儲(chǔ)過程中文問題的解決方案

數(shù)據(jù)庫(kù) MySQL
本文主要介紹了MySQL數(shù)據(jù)庫(kù)的存儲(chǔ)過程的兩個(gè)中文問題的解決方案,希望能對(duì)您有所幫助。

MySQL數(shù)據(jù)庫(kù)存儲(chǔ)過程常出現(xiàn)以下這樣的問題:

1、存儲(chǔ)信息為亂碼,尤其通過執(zhí)行sql腳本添加數(shù)據(jù)最為常見。

2、使用where子句是,對(duì)中文字符串進(jìn)行比較,這個(gè)問題也是十分常見。

針對(duì)存儲(chǔ)信息為亂碼的問題,一定要注意執(zhí)行腳本的終端,系統(tǒng)默認(rèn)的字符編碼是你所要求的,這個(gè)問題歸根到底是mysql字符集的問題。MySQL的字符集支持(Character Set Support)有兩個(gè)方面:字符集(Characterset)和排序方式(Collation)。

對(duì)于字符集的支持細(xì)化到四個(gè)層次: 服務(wù)器(server),數(shù)據(jù)庫(kù)(database),數(shù)據(jù)表(table)和連接(connection)。

MySQL對(duì)于字符集的指定可以細(xì)化到一個(gè)數(shù)據(jù)庫(kù),一張表,一列,應(yīng)該用什么字符集。

與字符集相關(guān)的命令:

查看默認(rèn)字符集(默認(rèn)情況下,mysql的字符集是latin1(ISO_8859_1)

  1. mysql> SHOW VARIABLES LIKE 'character%';    
  2.  
  3. mysql> SHOW VARIABLES LIKE 'collation_%';   

使用命令修改字符集:

  1. <pre name="code" class="html">     
  2.  
  3. mysql> SET character_set_client = utf8 ;    
  4.  
  5. mysql> SET character_set_connection = utf8 ;    
  6.  
  7. mysql> SET character_set_database = utf8 ;    
  8.  
  9. mysql> SET character_set_results = utf8 ;    
  10.  
  11. mysql> SET character_set_server = utf8 ;    
  12.  
  13. mysql> SET collation_connection = utf8 ;    
  14.  
  15. mysql> SET collation_database = utf8 ;    
  16.  
  17. mysql> SET collation_server = utf8 ;   

出現(xiàn)問題1的原因是:設(shè)置了表的默認(rèn)字符集為utf8并且通過UTF-8編碼發(fā)送查詢,但這個(gè)connection連接層的編碼仍然不正確。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句:

  1. SET NAMES 'utf8'; 

它相當(dāng)于下面的三句指令:

  1. <pre name="code" class="html">SET character_set_client = utf8;    
  2.  
  3. SET character_set_results = utf8;    
  4.  
  5. SET character_set_connection = utf8;   

問題2解決方法:

對(duì)需要比較的兩邊變量或常量使用轉(zhuǎn)碼(COLLATE utf8_unicode_ci),如:

  1. declare cur_preferences cursor for select id from preferences where @name like concat("%",rTitle COLLATE utf8_unicode_ci )  ; 

 如果上面的語(yǔ)句優(yōu)化不成功,執(zhí)行下面的語(yǔ)句:

  1. declare cur_preferences cursor for select id from preferences where @name  COLLATE utf8_unicode_ci  like concat("%",rTitle COLLATE utf8_unicode_ci )  ; 

這樣就可以解決這個(gè)問題。

關(guān)于MySQL數(shù)據(jù)庫(kù)存儲(chǔ)過程常見的問題就介紹到這里,如果您想了解更多關(guān)于MySQL數(shù)據(jù)庫(kù)的知識(shí),不妨看一下這里的文章:http://database.51cto.com/mysql/,希望您能有所收獲!

【編輯推薦】

  1. 利用mysql的audit審計(jì)功能記錄用戶操作信息
  2. MySQL索引背后的數(shù)據(jù)結(jié)構(gòu)及算法之索引實(shí)現(xiàn)
  3. Facebook對(duì)MySQL依賴的后果將是“比死還糟”
  4. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺(tái)搭建
  5. NaviCat通過Http方式連接服務(wù)器的MySQL數(shù)據(jù)庫(kù)
責(zé)任編輯:趙鵬 來源: CSDN博客
相關(guān)推薦

2010-05-17 09:49:46

MySQL中文問題

2010-05-31 12:38:48

Nagios中文

2010-05-18 14:00:46

MySQL5.0中文問

2010-05-17 14:49:43

MySQL中文亂碼

2011-07-22 17:37:18

MySQL數(shù)據(jù)庫(kù)

2010-10-28 13:53:13

ORACLE存儲(chǔ)過程

2010-05-18 18:45:31

MySQL5.0中文問

2010-03-30 15:54:27

Oracle date

2011-08-23 10:02:26

Oracle數(shù)據(jù)庫(kù)存儲(chǔ)過程掛死

2024-11-08 13:47:35

中文亂碼配置

2010-08-06 09:42:39

2010-05-12 16:47:54

MySQL 中文亂碼

2013-01-16 09:34:01

WLAN解決方案

2010-05-11 18:05:50

MySQL 5安裝

2009-07-23 14:10:38

Hibernate J

2011-12-21 14:46:26

JavaJFreeChart

2010-05-28 19:25:11

MySQL移植問題

2021-08-05 08:32:27

React開發(fā)項(xiàng)目

2020-03-11 09:57:10

數(shù)據(jù)安全網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2010-05-19 14:03:41

MySQL 存儲(chǔ)過程
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)