程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 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