在 MySQL 預存程序中定義參數時,無法指定其字符集。因此呼叫預存程序時,會預設讀取全域變數 character_set_server,而且只讀取 MySQL 啟動時該全域變數的值,作為預存程序中預設的傳輸字符集。
latin1),呼叫預存程序更新非英文字串欄位時,不會發生問題。latin1,但資料表使用 utf8),就會出現字符集不匹配問題。在 my.cnf(Windows 下為 my.ini)中增加以下任一行配置:
default-character-set=utf8
或
character-set-server=utf8注意:若只是在
mysqld啟動後,在 MySQL 命令列中用SET語法更新,則不起作用。必須在配置檔中設置並重啟 MySQL 服務。