iT邦幫忙

0

連線到編碼為GBK的MYSQL資料庫

  • 分享至 

  • xImage

如題
目前多了一台來自對岸的設備,需要讀他電腦內的MYSQL
只知道編碼為GBK

但我不管如何設定,連線出來的都是亂碼(嘗試過DBeaver跟MYSQL Workbench)
想請問各位版友是否有類似經驗?
要如何解決?
感謝

Yaowen iT邦研究生 4 級 ‧ 2023-04-19 11:53:31 檢舉
https://zhuanlan.zhihu.com/p/74428428
如果你用Navicat 連的話
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
MatthewWangUS
iT邦新手 3 級 ‧ 2023-04-19 11:55:08

可試一下navicat 它可以設定 client 的 charset 。

0
player
iT邦大師 1 級 ‧ 2023-04-20 13:29:26

https://dev.mysql.com/doc/refman/8.0/en/faqs-cjk.html

SQL操作前
先指定語系看看有沒有用?

SET NAMES 'gbk';

如果沒效
請參閱官網上的其他說明

淺水員 iT邦大師 6 級 ‧ 2023-04-20 17:04:20 檢舉

應該要考慮一下客戶端程式本身是用什麼編碼

SET NAMES 是同時設定

  • character_set_client
  • character_set_results
  • character_set_connection

關於以上三個數值,可參考:https://blog.csdn.net/qq_46225886/article/details/111564032

目前的狀況是

SHOW VARIABLES LIKE '%character%';

得到的結果都是utf8
https://ithelp.ithome.com.tw/upload/images/20230421/20142013lxosAx4xM7.png

但若查詢DB的編碼(DB為fram_modify)
又會得到gbk

SELECT SCHEMA_NAME, DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME  FROM information_schema.SCHEMATA WHERE schema_name="fram_modify"

https://ithelp.ithome.com.tw/upload/images/20230421/20142013li0ENdeA5H.png

但如果去看細看資料表(資料表也為fram_modify)
又顯示是utf8_general_ci

SHOW FULL COLUMNS FROM fram_modify.fram_modify

https://ithelp.ithome.com.tw/upload/images/20230421/20142013ahB2ci3s2V.png

能調整過的設定都調整過了
但都還是無法解讀簡中的內容

我要發表回答

立即登入回答