日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
兩個MySQL存儲過程中文問題的解決方案

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

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

2、使用where子句是,對中文字符串進行比較,這個問題也是十分常見。

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

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

MySQL對于字符集的指定可以細化到一個數(shù)據(jù)庫,一張表,一列,應該用什么字符集。

與字符集相關的命令:

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

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

使用命令修改字符集:

 
 
 
  1.      
  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的原因是:設置了表的默認字符集為utf8并且通過UTF-8編碼發(fā)送查詢,但這個connection連接層的編碼仍然不正確。解決方法是在發(fā)送查詢前執(zhí)行一下下面這句:

 
 
 
  1. SET NAMES 'utf8'; 

它相當于下面的三句指令:

 
 
 
  1. SET character_set_client = utf8;    
  2.  
  3. SET character_set_results = utf8;    
  4.  
  5. SET character_set_connection = utf8;   

問題2解決方法:

對需要比較的兩邊變量或常量使用轉(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ōu)化不成功,執(zhí)行下面的語句:

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

這樣就可以解決這個問題。

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

【編輯推薦】

  1. 利用mysql的audit審計功能記錄用戶操作信息
  2. MySQL索引背后的數(shù)據(jù)結(jié)構及算法之索引實現(xiàn)
  3. Facebook對MySQL依賴的后果將是“比死還糟”
  4. 詳解Discuz_WIN7_Apache_MySQL_PHP平臺搭建
  5. NaviCat通過Http方式連接服務器的MySQL數(shù)據(jù)庫

網(wǎng)站標題:兩個MySQL存儲過程中文問題的解決方案
網(wǎng)頁URL:http://www.dlmjj.cn/article/cdhsoos.html