iT邦幫忙

2

HeidiSQL 查詢結果亂碼問題

  • 分享至 

  • xImage

您好:
SERVER端安裝 Largon 6 ,內含heidiSQL 10.2.599 可以查詢

client端另外下載 heidiSQL 12.0.8
請問 client端哪邊可以設定查詢結果的編碼?

同樣SQL INSERT 語法,內有繁體中文
SeRVER端 寫入 ,查詢 正常
但clinet 端查詢,就亂碼

相對的,在端寫入,client端查詢正常, server端查詢亂碼

謝謝

補充:我比對兩個版本軟體差異

https://ithelp.ithome.com.tw/upload/images/20241216/20104095bb31Sq0iSY.png

看更多先前的討論...收起先前的討論...
froce iT邦大師 1 級 ‧ 2024-12-16 11:53:22 檢舉
HeidiSQL的encoding要和你SQL backend的encoding一致。
noway iT邦研究生 1 級 ‧ 2024-12-16 13:54:38 檢舉
HeidiSQL的encoding 這要哪邊設定? 找不太到
froce iT邦大師 1 級 ‧ 2024-12-16 14:04:18 檢舉
https://blog.csdn.net/hi1313732/article/details/111824350
noway iT邦研究生 1 級 ‧ 2024-12-16 20:18:25 檢舉
您好:
謝謝
但這只是針對一個TABLE?
且目前的設定已經是utf8-_generic_ci
圖片
  直播研討會

2 個回答

1
jabawork
iT邦新手 2 級 ‧ 2024-12-16 08:15:39

若是使用 mysql 的話,可以先執行下列的 sql 指令,看看目前 server編碼,client 連線編碼是否一致,若不一致的話,可以透過 sql 指令來修改,不過,這樣是一次性,建議直接從 mysql 的設定檔來做設定比較理想。

show variables like '%character%';

看更多先前的回應...收起先前的回應...
noway iT邦研究生 1 級 ‧ 2024-12-16 20:10:55 檢舉

您好:
這之前有找過

https://ithelp.ithome.com.tw/upload/images/20241216/20104095HGNrIALPI7.png

jabawork iT邦新手 2 級 ‧ 2024-12-18 08:18:37 檢舉

https://ithelp.ithome.com.tw/upload/images/20241218/20042901N59z2IX0of.png
我也有用 laragon,不過,預設的 character_set_server 並不會出現 latin1,應該是你之前有更動過設定了。

你可以從 laragon 主控台中把 mysql 的設定檔打開 my.ini,然後設定 mysql 的預設編碼加入後,重新啟動 mysql server 試試。
https://ithelp.ithome.com.tw/upload/images/20241218/20042901vnhUYnIjHh.png

[mysqld]
collation-server = utf8_unicode_520_ci
init-connect='SET NAMES utf8'
character-set-server = utf8

noway iT邦研究生 1 級 ‧ 2024-12-19 18:51:24 檢舉

您好:
試過
但 collation-server = utf8_unicode_520_ci 有問題
改用 collation-server = utf8_unicode_ci

但是 用hideiSQL 12版,一樣是亂碼

jabawork iT邦新手 2 級 ‧ 2024-12-20 15:10:51 檢舉

喔?!那會不會是你的文字存入資料庫時,就不是用 utf8 編碼儲存的呢?
你有提到:

內含heidiSQL 10.2.599 可以查詢

那你可以把查詢正常的版本,執行 「show variables like '%character%';」 把 my.ini 的編碼的部分設得和正常版本一樣,應該就可以。

noway iT邦研究生 1 級 ‧ 2024-12-22 19:56:32 檢舉

目前在VM 下的 SERVER上版本 10版
與 CP端的 12版
設定都是依樣
但 12板這一版抓出來的
selecft 出來的結果就是會變成亂碼

不明
【**此則訊息已被站方移除**】
0

其實這個問題已經算老生常談了。
我記得我幾年前有提到過。資料庫讀取如碰上編碼問題。要先確定4個地方

  1. 檔案程式的檔案編碼。(這已經很少見了,因為現在大多數的編輯器都已經預設UTF8了)
  2. 資料庫的主編碼。檢查是否為 utf8mb4
  3. MYSQL的預設編碼。這不太重要,畢竟還是可以靠程式調整。但最好能一樣
  4. 程式使用的資料庫宣告編碼

依目前來講,盡量全依 utf8mb4 為主。

我要發表回答

立即登入回答