Re: [系統] MySQL Console (命令列) 上顯示中文

看板Database (資料庫)作者 (軟體工程師)時間18年前 (2006/11/18 16:43), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《akamaru (Het leven is moeilijk.)》之銘言: : 資料庫名稱: MySQL : 資料庫版本: 5.0 : 作業平台: Win XP : 問題描述: : 用Php query出來資料庫裡面的中文資料是沒問題 : PhpMyAdmin輸入輸出也都okay : 但是如果我想用console來看資料的話都會出現一堆 問號 (????) : 用console輸入中文也會出現亂碼 : 請問要如何解決這個問題? 由於MySQL 4.1以上預設是以utf-8作為內部儲存/比對方式, 所以如果像以前直接塞資料的話, 那就會變亂碼. 解決方式是, 在一進命令列時輸入: SET NAMES big5; 之後, 就可以用BIG5編碼的中文塞資料, select也看得到正常的字元 但如果用mysql本身的字串相關函數, 比如取得字串長度, 則必須注意. 比如在資料表x裡y欄位有一筆資料"AH-285之戀", 要算它的長度, 在之 前是用以下的query: select length(y) from x; 不過答案卻變成12---因為在utf-8裡, 一個中文字用掉3個byte. 所以在 使用字串函數之前, 必須先轉碼再用: select length(convert(y using big5)) from x; 答案就會是10. 其他函數則照這個樣子試試看. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.250.33.195

11/18 22:15, , 1F
謝謝你 可以看了 :) 但有沒有辦法讓他直接預設顯示中文?
11/18 22:15, 1F
文章代碼(AID): #15NiUm1o (Database)
文章代碼(AID): #15NiUm1o (Database)