Re: [系統] MySQL Console (命令列) 上顯示中文
※ 引述《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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章