Mysql 的錯誤訊息,可以中文化嗎?
有時,出現錯誤訊息時,例如:
duplicate entry 'XXXX' for key 'YYYY'
我們設計師來看,當然沒問題,不就是鍵值重覆嘛?
但,若秀到前端給使用者看,那就比較不貼心了,使用者看不懂英文,秀了也是困擾。
有沒有辧法將MYSQL的錯誤訊息中文化呢?我希望是能由MYSQL本身去下手,而不是攔截後再加工。
Googel 了許多,還沒找到方法,有先進能提供意見或方向嗎?
1.程式撰寫時把【防呆機制】考慮進去
2.把 Mysql 的錯誤訊息改成【使用者看得懂的訊息】:例如,料號 X123456 重覆 <料號是在你系統中定義的,不在 Mysql 內>
3.讓你的程式更人性化更友善,使用者就不會一直找你
請參閱 : MYSQL ERROR CODE 錯誤編號的意義
關鍵字 :【1048:欄位不能為空】,若是類似個人基本資料可能有 10 個空格要填,那麼此時如何知道是哪一個空格不能為空 ?
謝謝您。
目前的確是用這個方法,不過,有太多的mysql錯誤訊息,難以一一定義,所以,才想說有沒有直接由資料庫系統面來下手。
關鍵字 :【1048:欄位不能為空】,若是類似個人基本資料可能有 10 個空格要填,那麼此時如何知道是哪一個空格不能為空 ?
您說得有理,至於這個問題,我會用觸發程序去處理,自行引發錯誤,就可以自帶錯誤訊息了。
或許,到最後,恐怕得自食其力了。
若【防呆機制】有做好的話,Mysql 的錯誤訊息應該不常出現;
但是它一旦出現,不要說使用者看不懂,可能你也看不懂,
那時大概雞飛狗跳了,根本不知發生甚麼事。
建議:儘可能做好【防呆機制】,別讓 Mysql Server 回傳錯誤。
謹受教。
https://dev.mysql.com/doc/refman/8.0/en/error-message-language.html
By default, mysqld produces error messages in English, but they can be displayed instead in any of several other languages: Czech, Danish, Dutch, Estonian, French, German, Greek, Hungarian, Italian, Japanese, Korean, Norwegian, Norwegian-ny, Polish, Portuguese, Romanian, Russian, Slovak, Spanish, or Swedish.
沒看到中文部分. 是有個目錄會放訊息.但是具體格式就沒有去了解了.
PostgreSQL 有中文訊息,一般是中文環境就自動是中文訊息.我比較常用 LC_ALL=C psql 這樣方式讓他改用英文顯示.