程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL存儲過程的字符集問題

MySQL存儲過程的字符集問題

編輯:MySQL綜合教程

MySQL存儲是MySQL數據庫操作中非常重要的一個工作,也是大家平時工作中都要應用到的。由於存儲過程中定義參數時,無法定義其字符集,因此調用存儲過程的時候,會默認讀取全局變量character_set_server,而且還是只讀取mysqld啟動時該全局變量的值作為存儲過程中默認的傳輸字符集。因此,如果數據表/字段使用系統默認的字符集(比如latin1)的話,調用存儲過程更新一些非英文的字符串字段時,就不會發生問題;但是,如果數據表/字段的字符集不是系統默認的字符集(比如默認是latin1,數據表使用的是utf8),就會出現問題了。

解決辦法:

在my.cnf(windows下是my.ini),增加一行:

default-character-set=utf8

或者

character-set-server=utf8

也可以。如果只是在mysqld啟動之後,在 mysql 命令行中用 SET 語法來更新的話則不起作用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved