2022年5月26日 星期四

DOS命令提示字元執行mysql指令,其中文顯示亂碼 -- 20220526

緣由:

透過Windows內建命令提示字元,查詢MySQL的資料庫內「資料表」和「資料」等,結果查詢後發現中文字卻出現亂碼。如下圖:




解決方式:

步驟一:藉由「命令提示字元」連結mysql資料庫。









步驟二、輸入show variables like '%character%'; 指令,列出所有的相關訊,如下圖所示:

character_set_client =  utf8 

character_set_connection =  utf8 

character_set_results =  utf8 

※上述三行會影響到中文的呈現。




步驟三、將 set character_set_results=big5;   utf8 改成 big5



------補充:---------------------


MySQL中的運行模式為:

信息輸入路徑:client→connection→server

信息輸出路徑:server→connection→results

由於Windows的命名提示字元所使用的文字碼是「Big5」,如果在MySQL中設定Big5之外的文字碼,只要不使用對應文字碼的終端軟體,就會產生亂碼。然而,直接看mysql資料庫內的資料是正常並無亂碼情況,但資料庫設定為「utf-8」,根據上述描述可知命令提示字元與資料庫的文字碼沒有對應,因此才會出現亂碼;相對的也可能在輸出的時候,造成的亂碼情形,故嘗試先修改character_set_results看看,結果改完後就再也無亂碼情況發生。








參考網址:網址一網址二












沒有留言:

張貼留言