作者superlevin (软体工程师)
看板Database
标题Re: [系统] MySQL Console (命令列) 上显示中文
时间Sat Nov 18 16:45:51 2006
※ 引述《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
1F:推 akamaru:谢谢你 可以看了 :) 但有没有办法让他直接预设显示中文? 11/18 22:15