Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 74703 Details for
Bug 115517
[vi] a couple of new translated documents
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
utf-8.xml
utf-8.xml (text/plain), 28.85 KB, created by
Nguyen Thai Ngoc Duy (RETIRED)
on 2005-12-14 03:57:35 UTC
(
hide
)
Description:
utf-8.xml
Filename:
MIME Type:
Creator:
Nguyen Thai Ngoc Duy (RETIRED)
Created:
2005-12-14 03:57:35 UTC
Size:
28.85 KB
patch
obsolete
><?xml version='1.0' encoding="UTF-8"?> ><!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/utf-8.xml,v 1.34 2005/11/17 16:36:57 neysx Exp $ --> ><!-- $OldHeader: /var/cvsroot/gentoo/xml/htdocs/doc/en/utf-8.xml,v 1.34 2005/11/17 16:36:57 neysx Exp $ --> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> > ><guide link="/doc/vi/utf-8.xml" lang="vi"> ><title>Dùng UTF-8 vá»i Gentoo</title> > ><author title="Author"> > <mail link="slarti@gentoo.org">Thomas Martin</mail> ></author> ><author title="Contributor"> > <mail link="devil@gentoo.org.ua">Alexander Simonov</mail> ></author> ><author title="Editor"> > <mail link="fox2mike@gentoo.org">Shyam Mani</mail> ></author> ><author title="Translator"> > <mail link="pclouds@gentoo.org">Nguyá» n Thái Ngá»c Duy</mail> ></author> > ><abstract> >Tà i liá»u nà y chá» cách thiết láºp và dùng bảng mã Unicode UTF-8 vá»i há» thá»ng Gentoo Linux cá»§a bạn, sau khi giải thÃch các Ãch lợi cá»§a Unicode và Äặt biá»t là UTF-8. ></abstract> > ><!-- The content of this document is licensed under the CC-BY-SA license --> ><!-- See http://creativecommons.org/licenses/by-sa/2.5 --> ><license /> > ><version>2.14</version> ><date>2005-11-17</date> > ><chapter> ><title>Bảng mã</title> ><section> ><title>Bảng mã là gì?</title> ><body> > ><p> >Máy tÃnh tá»± nó không hiá»u vÄn bản. Thay và o Äó, má»i ký tá»± ÄÆ°á»£c Äại >diá»n bằng má»t con sá». Theo truyá»n thá»ng, má»t táºp sá» dùng Äá» Äại diá»n >cho bảng chữ cái và các ký tá»± khác (gá»i là há» thá»ng bảng mã - coding >system, encoding hoặc character set) có kÃch thưá»c giá»i hạn do những >giá»i hạn vá» phần cứng cá»§a máy tÃnh. ></p> > ></body> ></section> ><section> ><title>Lá»ch sá» bảng mã</title> ><body> > ><p> >Phần chung nhất cá»§a bảng mã (hoặc Ãt ra ÄÆ°á»£c chấp nháºn rá»ng rãi nhất) >là <b>ASCII</b> (American Standard Code for Information Interchange). >Có thá» coi nó là chuẩn phần má»m thà nh công nhất từ trưá»c Äến nay. >ASCII hiá»n Äại ÄÆ°á»£c chuẩn hoá nÄm 1986 (ANSI X3.4, RFC 20, ISO/IEC >646:1991, ECMA-6) bá»i American National Standards Institute (ANSI). ></p> > ><p> >ASCII chá» dùng 7 bit, nghÄ©a là nó chá» dùng những sá» ÄÆ°á»£c Äại diá»n bá»i >7 chữ sá» nhá» phân, có giá trá» từ 0 Äến 127 tÃnh theo tháºp phân. Nó bao >gá»m 32 ký tá»± không hiá»n thá», dùng là m ký tá»± Äiá»u khiá»n, hầu hết nằm >trong 0 Äến 31, cùng vá»i ký tá»± Äiá»u khiá»n cuá»i cùng, DEL hay delete, >có giá trá» 127. Các ký tá»± từ 32 Äến 126 là ký tá»± có thá» thấy: khoảng >trắng, dấu chấm câu, các chữ cái Latin và các con sá». ></p> > ><p> >Bit thứ 8 trong ASCII ban Äầu dùng là m bit kiá»m tra (parity bit). Nếu >không dùng, nó là 0. NghÄ©a là , vá»i ASCII, má»i ký tá»± nằm trong má»t byte >ÄÆ¡n. ></p> > ><p> >Mặc dùng ASCII Äá»§ Äá» liên lạc bằng tiếng Anh hiá»n Äại, những ngôn ngữ >châu Ãu khác có thêm các ký tá»± có dấu, má»i viá»c trá» nên không dá» dà ng. >Chuẩn ISO 8859 ra Äá»i Äá» Äáp ứng nhu cầu nà y. Chúng tương thÃch ngược >vá»i ASCII, nhưng thay vì Äá» bit 8 là 0, bit nà y ÄÆ°á»£c dùng Äá» thêm 127 >ký tá»± khác và o bảng mã. Những giá»i hạn cá»§a ISO 8859 dần dần lá» ra, và >hiá»n có 15 biến thá» khác nhau cá»§a ISO 8859 (từ 8859-1 Äến 8859-15). >Những byte bên ngoà i phạm vi tương thÃch ASCII cá»§a những bảng mã nà y >thưá»ng có xung Äá»t giữa ký tá»± Äại diá»n cho má»i byte. Vấn Äá» tương tác >giữa các bảng mã còn phức tạp hÆ¡n khi Windows-1252 ÄÆ°á»£c dùng trong và i >phiên bản cá»§a Microsoft Windows cho các ngôn ngữ châu Ãu. Nó kế thừa >từ ISO 8859-1 nhưng lại có nhiá»u khác biá»t. Tuy nhiên những bảng mã nà y >vẫn tương thÃch vá»i ASCII. ></p> > ><p> >Sá»± phát triá»n các bảng mã má»t-byte hoà n toà n khác cho các bảng chữ cái >phi Latin, như EUC (Extended Unix Coding) ÄÆ°á»£c dùng cho tiếng Nháºt và >tiếng Hà n Quá»c (và má»t phần nhá» tiếng Trung Hoa) tạo ra thêm nhiá»u rắc >rá»i, trong khi những há» Äiá»u hà nh khác vẫn dùng những bảng mã khác >nhau cho cùng ngôn ngữ, và dụ, Shift-JIS và ISO-2022-JP. Ngưá»i dùng >muá»n xem các ký tá»± cyrillic phải chá»n giữa KOI8-R cho Nga và Bungari >hoặc KOI8-U cho Ukraina, cÅ©ng như các bảng mã cyrillic khác như ISO >8859-5 và bá» Windows-1251. Các bảng mã nà y không giữ tÃnh tương thÃch >vá»i ASCII (mặc dù KOI8 Äặt các ký tá»± cyrillic theo Äúng thứ tá»± Latin >nên trong trưá»ng hợp bit 8 bá» lượt bá», vÄn bản vẫn có thá» Äá»c trên >terminal ASCII thông qua chuyá»n ngữ giữ nguyên hoa thưá»ng). ></p> > ><p> >Äiá»u nà y dẫn Äến nhiá»u mâu thuẫn, và còn dẫn Äến không thá» trao Äá»i Äa >ngôn ngữ, Äặc biá»t giữa các bảng mã khác nhau. Unicode và o cuá»c. ></p> > ></body> ></section> ><section> ><title>Unicode là gì?</title> ><body> > ><p> >Unicode loại bá» giá»i hạn má»t byte cá»§a các bảng mã truyá»n thá»ng. Nó >dùng 17 "plane" 65,536 code point Äá» mô tả 1,114,112 ký tá»±. Do plane Äầu >tiên, ÄÆ°á»£c biết dưá»i tên "Basic Multilingual Plane" hoặc BMP, chứa hầu >hết những thứ cần dùng, nhiá»u ngưá»i nhầm tưá»ng Unicode là bảng mã 16 >bit. ></p> > ><p> >Unicode ÄÆ°á»£c ánh xạ theo nhiá»u cách khác nhau, nhưng hai cách thông >dụng là <b>UTF</b> (Unicode Transformation Format) và <b>UCS</b> >(Universal Character Set). Con sá» phÃa sau UTF cho biết sá» bit ÄÆ°á»£c >dùng cho má»t ÄÆ¡n vá», trong khi con sá» sau UCS cho biết sá» byte. Viá»c UTF-8 >trá» nên phá» biến như má»t chuẩn trao Äá»i các vÄn bản Unicode là kết quả >cá»§a bản chất 8-bit cá»§a nó, và nó là chá»§ Äá» cá»§a tà i liá»u nà y. ></p> > ></body> ></section> ><section> ><title>UTF-8</title> ><body> > ><p> >UTF-8 là bảng mã ký tá»± có Äá» dà i biến Äá»i, mà Äá»i vá»i UTF-8 là từ má»t >Äến bá»n byte cho má»t ký hiá»u. Váºy, byte UTF-8 Äầu tiên ÄÆ°á»£c dùng Äá» mã >hoá ASCII, bảo Äảm tÃnh tương thÃch ngược hoà n toà n vá»i ASCII. UTF-8 >nghÄ©a là ASCII và các ký tá»± Latin có thá» trao Äá»i vá»i kÃch thưá»c tÄng >lên má»t chút vì chá» bit Äầu tiên ÄÆ°á»£c dùng. Ngưá»i dùng các bảng mã >phương Äông như Nháºt, ÄÆ°á»£c gán má»t vùng byte cao hÆ¡n thì không vui vẻ >lắm, vì nó tÄng khoảng 50% kÃch thưá»c dữ liá»u. ></p> > ></body> ></section> ><section> ><title>UTF-8 có thá» là m gì cho bạn</title> ><body> > ><p> >UTF-8 cho phép bạn là m viá»c vá»i chuẩn quá»c tế ÄÆ°á»£c chấp nháºn trong má»t >môi trưá»ng Äa ngôn ngữ, vá»i tÃnh dư thừa dữ liá»u tương Äá»i thấp. UTF-8 >ÄÆ°á»£c xem như cách yêu thÃch Äá» gá»i dữ liá»u phi ASCII qua Internet, >thông qua Email, IRC hay các phương tiá»n khác. Tuy thế, nhiá»u ngưá»i >xem dùng UTF-8 cho truyá»n thông trá»±c tuyến là lạm dụng. Do váºy tá»t >nhất nên nháºn thức ÄÆ°á»£c phản ứng vá»i UTF-8 trong má»t sá» kênh trao Äá»i, >mailing list hoặc Usenet trưá»c khi dùng các ký tá»± UTF-8 <e>phi >ASCII</e>. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Thiết láºp UTF-8 vá»i Gentoo Linux</title> ><section> ><title>Tìm hoặc tạo locale UTF-8</title> ><body> > ><p> >Giá» bạn Äã hiá»u các nguyên tắc cÆ¡ bản cá»§a Unicode, bạn Äã sẵn sà ng Äá» >dùng UTF-8 trong há» thá»ng cá»§a bạn. ></p> > ><p> >Yêu cầu bắt buá»c cho UTF-8 là phải cà i Äặt glibc há» trợ national >language support. Äiá»u nà y có nghÄ©a là táºp tin ><path>/etc/locales.build</path> cùng vá»i USE flag <c>userlocales</c>. >Giải thÃch cách dùng táºp tin nà y nằm ngoà i phạm vi tà i liá»u nà y, tuy >nhiên táºp tin nà y ÄÆ°á»£c mô tả kèm ghi chú. Ngoà i ra nó còn ÄÆ°á»£c giải >thÃch trong <uri >link="/doc/vi/guide-localization.xml#doc_chap3_sect3">Hưá»ng dẫn bản >Äá»a hoá Gentoo Linux</uri>. ></p> > ><p> >Giá» chúng ta sẽ quyết Äá»nh xem locale UTF-8 nà o có cho ngôn ngữ cá»§a >chúng ta, hoặc sẽ tạo má»i nếu cần. ></p> > ><pre caption="Kiá»m tra các locale UTF-8 hiá»n có"> ><comment>(Thay "en_US" vá»i thiết láºp locale cá»§a bạn)</comment> ># <i>locale -a | grep 'en_US'</i> >en_US >en_US.UTF-8 ></pre> > ><p> >Trong phần kết quả, chúng ta cần có má»t kết quả có Äuôi ><c>.UTF-8</c> hoặc tương tá»±. Nếu không có, chúng ta sẽ tạo má»t locale >tương thÃch UTF-8. ></p> > ><note> >Chá» thá»±c hiá»n Äoạn mã sau nếu bạn không có locale UTF-8 cho ngôn ngữ >cá»§a bạn. ></note> > ><pre caption="Tạo locale UTF-8"> ><comment>(Thay "en_US" bằng thiết láºp locale cá»§a bạn)</comment> ># <i>localedef -i en_US -f UTF-8 en_US.UTF-8</i> ></pre> > ><p> >Cách khác Äá» thêm locale UTF-8 là thêm và o táºp tin ><path>/etc/locales.build</path> và xây dá»±ng lại <c>glibc</c> vá»i USE >flag <c>userlocales</c>. ></p> > ><pre caption="Dòng má»i trong /etc/locales.build"> >en_US.UTF-8/UTF-8 ></pre> > ></body> ></section> ><section> ><title>Thiết láºp Locale</title> ><body> > ><p> >Có má»t biến môi trưá»ng cần Äặt Äá» dùng locale UTF-8: <c>LC_ALL</c> >(biến nà y cÅ©ng bá» qua thiết láºp trong <c>LANG</c>). Ngoà i ra còn má»t >sá» cách khác Äá» Äặt locale UTF-8; và i ngưá»i thÃch chá» dùng locale >UTF-8 cho má»t sá» ngưá»i dùng nhất Äá»nh, do Äó há» Äặt thiết láºp trong ><path>~/.profile</path> (nếu bạn dùng <c>/bin/sh</c>), ><path>~/.bash_profile</path> hoặc <path>~/.bashrc</path> (nếu dùng ><c>/bin/bash</c>). ></p> > ><p> >Những ngưá»i khác thÃch Äặt toà n há» thá»ng. Má»t trưá»ng hợp Äặt biá»t mà >tác giả tà i liá»u nà y Äặc biá»t khuyên dùng là khi dùng ><path>/etc/init.d/xdm</path>, và init script nà y khá»i Äá»ng trình quản >lý Äá» hoạ và desktop trưá»c khi dùng các táºp tin khá»i Äá»ng shell, váºy >nên các thiết láºp môi trưá»ng không có tác dụng. ></p> > ><p> >Äá» thiết láºp locale toà n cục, nên dùng ><path>/etc/env.d/02locale</path>. Táºp tin nà y trông giá»ng như sau: ></p> > ><pre caption="/etc/env.d/02locale minh hoạ"> ><comment>(Như thưá»ng lá», nhá» Äá»i "en_US.UTF-8" sang locale cá»§a bạn)</comment> >LC_ALL="en_US.UTF-8" ></pre> > ><p> >Kế tiếp, môi trưá»ng phải ÄÆ°á»£c cáºp nháºt các thay Äá»i. ></p> > ><pre caption="Cáºp nháºt môi trưá»ng"> ># <i>env-update</i> >>>> Regenerating /etc/ld.so.cache... > * Caching service dependencies ... ># <i>source /etc/profile</i> ></pre> > ><p> >Giá» chạy <c>locale</c> không tham sá» Äá» xem thiết láºp môi trưá»ng Äã >Äúng hay chưa: ></p> > ><pre caption="Kiá»m tra xem môi trưá»ng dùng locale má»i chưa"> ># <i>locale</i> >LANG= >LC_CTYPE="en_US.UTF-8" >LC_NUMERIC="en_US.UTF-8" >LC_TIME="en_US.UTF-8" >LC_COLLATE="en_US.UTF-8" >LC_MONETARY="en_US.UTF-8" >LC_MESSAGES="en_US.UTF-8" >LC_PAPER="en_US.UTF-8" >LC_NAME="en_US.UTF-8" >LC_ADDRESS="en_US.UTF-8" >LC_TELEPHONE="en_US.UTF-8" >LC_MEASUREMENT="en_US.UTF-8" >LC_IDENTIFICATION="en_US.UTF-8" >LC_ALL=en_US.UTF-8 ></pre> > ><p> >Tất cả chá» có thế. Giá» bạn Äang dùng locale UTF-8, và bưá»c kế tiếp là >cấu hình ứng dụng thưá»ng dùng cá»§a bạn. ></p> > ></body> ></section> ></chapter> > ><chapter> ><title>Há» trợ ứng dụng</title> ><section> ><body> > ><p> >Khi Unicode bắt Äầu ÄÆ°á»£c ÄỠý trong giá»i phần má»m, bảng mã nhiá»u byte >vẫn chưa thÃch hợp vá»i ngôn ngữ như C, trong khi Äây lại là ngôn ngữ >ÄÆ°á»£c dùng nhiá»u Äá» viết chương trình. Ngay cả ngà y nay, và y chương >trình vẫn không xá» lý Äúng UTF-8. May mắn là hầu hết còn lại thì Äúng! ></p> > ></body> ></section> ><section> ><title>Tên táºp tin, NTFS, và FAT</title> ><body> > ><p> >Có má»t sá» tuỳ chá»n NLS trong cấu hình Linux kernel, nhưng quan trong >nhất lÃ ÄÆ°á»£c Äá» bá» rá»i! Phần quan trá»ng nhất, Äiá»u duy nhất cần là m là >tạo UTF-8 NLS support cho kernel, và thay Äá»i NLS mặc Äá»nh sang utf8. ></p> > ><pre caption="Cấu hình kernel cho UTF-8 NLS"> >File Systems --> > Native Language Support --> > (utf8) Default NLS Option > <*> NLS UTF8 > <comment>(Ngoà i ra <*> những bảng mã khác ÄÆ°á»£c dùng trong há» > táºp tin FAT hoặc CD-ROM Joilet.)</comment> ></pre> > ><p> >Nếu bạn Äá»nh dùng phân vùng NTFS, bạn có thá» cần xác Äá»nh tuỳ chá»n ><c>nls=</c> khi mount. Nếu bạn Äá»nh mount phân vùng FAT, bạn có thá» >cần xác Äá»nh tuỳ chá»n <c>codepage=</c> khi mount. Ngoà i ra, bạn có thá» >cÅ©ng cần Äặt codepage mặc Äá»nh cho FAT trong cấu hình kernel. Chú ý >rằng tuỳ chá»n <c>codepage</c> khi mount sẽ bá» qua thiết láºp kernel. ></p> > ><pre caption="Thiết láºp FAT trong cấu hình kernel"> >File Systems --> > DOS/FAT/NT Filesystems --> > (437) Default codepage for fat ></pre> > ><p> >Tránh Äặt <c>Default iocharset for fat</c> sang UTF-8, vì nó không >ÄÆ°á»£c khuyên dùng. Thay và o Äó, bạn có thá» chuyá»n tuỳ chá»n utf8=true >khi mount phân vùng FAT. Thông tin chi tiết hÆ¡n, vui lòng xem <c>man >mount</c> và tà i liá»u kernel tại ><path>/usr/src/linux/Documentation/filesystems/vfat.txt</path>. ></p> > ><p> >Äá» thay Äá»i bảng mã tên táºp tin, dùng <c>app-text/convmv</c>. ></p> > ><pre caption="Và dụ dùng convmv"> ># <i>emerge --ask app-text/convmv</i> ><comment>(Dạng thức lá»nh)</comment> ># <i>convmv -f <current-encoding> -t utf-8 <filename></i> ><comment>(Thay iso-8859-1 bằng bảng mã cần chuyá»n Äá»i từ Äó)</comment> ># <i>convmv -f iso-8859-1 -t utf-8 filename</i> ></pre> > ><p> >Äá» thay Äá»i <e>ná»i dung</e> táºp tin, dùng tiá»n Ãch <c>iconv</c>, Äi >kèm vá»i <c>glibc</c>: ></p> > ><pre caption="Và dụ dùng iconv"> ><comment>(Thay iso-8859-1 bằng bảng mã cần chuyá»n Äá»i từ Äó)</comment> ><comment>(Kiá»m tra kết quả có chÃnh xác không)</comment> ># <i>iconv -f iso-8859-1 -t utf-8 filename</i> ><comment>(Chuyá»n Äá»i và lưu kết quả và o má»t táºp tin má»i)</comment> ># <i>iconv -f iso-8859-1 -t utf-8 filename > newfile</i> ></pre> > ><p> ><c>app-text/recode</c> cÅ©ng có thá» ÄÆ°á»£c dùng thay vì <c>iconv</c>. ></p> > ></body> ></section> ><section> ><title>Console há» thá»ng</title> ><body> > ><impo> >Bạn cần >=sys-apps/baselayout-1.11.9 Äá» có há» trợ Unicode trên console >há» thá»ng. ></impo> > ><p> >Äá» báºt UTF-8 trên conaolw, bạn sá»a táºp tin <path>/etc/rc.conf</path> >và Äặt <c>UNICODE="yes"</c>, ngoà i ra bạn cÅ©ng cần Äá»c comment trong >táºp tin nà y -- nó rất quan trá»ng vì bạn cần dùng phông chữ chứa những >ký tá»± bạn Äá»nh dùng thưá»ng xuyên nhất. ></p> > ><p> >Biến <c>KEYMAP</c>, Äặt trong <path>/etc/conf.d/keymaps</path>, nên >xác Äá»nh Unicode keymap. ></p> > ><pre caption="Và dụ /etc/conf.d/keymaps"> ><comment>(Thay "uk" bằng layout cá»§a bạn)</comment> >KEYMAP="uk" ></pre> > ></body> ></section> ><section> ><title>Ncurses và Slang</title> ><body> > ><note> >Bá» qua những thứ liên quan Äến Slang trong phần nà y nếu bạn không cà i >hoặc không dùng nó. ></note> > ><p> >Thêm USE flag <c>unicode</c> và o USE flag toà n cục trong ><path>/etc/make.conf</path> là khôn ngoan, sau Äó emerge lại ><c>sys-libs/ncurses</c> và ><c>sys-libs/slang</c> nếu cần. Portage sẽ tá»± Äá»ng cáºp nháºt há» thá»ng >cá»§a bạn: ></p> > ><pre caption="Cáºp nháºt há» thá»ng cá»§a bạn"> ># <i>emerge --update --deep --newuse world</i> ></pre> > ><p> >Ngoà i ra bạn cÅ©ng nên biên dá»ch lại những gói liên kết Äến hai thư >viá»n nà y vì giá» USE flag Äã thay Äá»i. Công cụ cần dùng >(<c>revdep-rebuild</c>) là má»t phần cá»§a gói <c>gentoolkit</c>. ></p> > ><pre caption="Biên dá»ch lại các chương trình có dùng ncurses hoặc slang"> ># <i>revdep-rebuild --soname libncurses.so.5</i> ># <i>revdep-rebuild --soname libslang.so.1</i> ></pre> > ></body> ></section> ><section> ><title>KDE, GNOME và Xfce</title> ><body> > ><p> >Tất cả các môi trưá»ng desktop quan trá»ng Äá»u há» trợ Unicode Äầy Äá»§, và >không cần là m gì hÆ¡n những gì Äã Äá» cáºp trong tà i liá»u nà y, do các bá» >công cụ bên dưá»i (Qt hoặc GTK+2) Äá»u há» trợ UTF-8 rất tá»t. Äiá»u nà y >dẫn Äến các ứng dụng dùng các bá» công cụ nà y cÅ©ng há» trợ UTF-8 tá»t. ></p> > ><p> >Ngoại lá» bao gá»m Xlib và GTK+1. GTK+1 cần >iso-10646-1 FontSpec trong ~/.gtkrc, và dụ ><c>-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1</c>. Ngoà i ra, ứng dụng >dùng Xlib hoặc Xaw cần FontSpec tương tá»±, nếu không chúng không hoạt >Äá»ng. ></p> > ><note> >Nếu bạn dùng phiên bản gnome1 control center, hãy dùng nó. Chá»n bất kỳ >phông iso10646-1 nà o từ Äó. ></note> > ><pre caption="Và dụ ~/.gtkrc (cho GTK+1) Äá»nh nghÄ©a phông tương thÃch Unicode"> >style "user-font" >{ > fontset="-misc-fixed-*-*-*-*-*-*-*-*-*-*-iso10646-1" >} >widget_class "*" style "user-font" ></pre> > ><p> >Nếu ứng dụng há» trợ cả Qt và GTK+2 GU, GTK+2 GUI sẽ cho kết quả >Unicode tá»t hÆ¡n. ></p> > ></body> ></section> ><section> ><title>X11 và phông chữ</title> ><body> > ><impo> ><c>x11-base/xorg-x11</c> há» trợ Unicode tá»t hÆ¡n nhiá»u so vá»i XFree86 >và <e>rất nên</e> dùng. ></impo> > ><p> >Phông TrueType há» trợ Unicode và hầu hết các phông hiên tại trong Xorg >có má»t lượng ký tá»± ấn tượng, mặc dù dÄ© nhiên, không phải tất các các >ký tá»± trong Unicode. Äá» tạo các phông chữ (bao gá»m bá» Bitstream Vera) >há» trợ bá» ký tá»± Äông à vá»i X, thêm USE flag <c>cjk</c> và o khi cà i >Äặt. Những ứng dụng khác cÅ©ng có thá» táºn dụng USE flag nà y, váºy tá»t >hÆ¡n là thêm nó và o là m USE flag toà n cục. ></p> > ><p> >Ngoà i ra còn có và i phông chữ há» trợ Unicode trong Portage. ></p> > ><pre caption="Tuỳ chá»n: Cà i Äặt thêm các phông chữ há» trợ Unicode"> ># <i>emerge terminus-font intlfonts freefonts cronyx-fonts corefonts urwvn-fonts</i> ></pre> > ></body> ></section> ><section> ><title>Trình quản lý cá»a sá» và Terminal</title> ><body> > ><p> >Các trình quản lý cá»a sá» dá»±a trên GTK hoặc Qt thưá»ng há» trợ Unicode >rất tá»t, vì chúng dùng thư viá»n Xft Äá» xá» lý phông chữ. Nếu trình quản >lý cá»a sá» cá»§a bạn không dùng Xft, bạn vẫn có thá» dùng FontSpec Äã Äá» >cáºp trong phần trưá»c cho phông chữ Unicode. ></p> > ><p> >Terminal há» trợ Xft và Unicode thưá»ng khó tìm hÆ¡n. Ngoà i Konsole và >gnome-terminal, những tuỳ chá»n tá»t nhất trong Portage là ><c>x11-terms/rxvt-unicode</c>, <c>xfce-extra/terminal</c>, ><c>gnustep-apps/terminal</c>, <c>x11-terms/mlterm</c>, hoặc ÄÆ¡n giản ><c>x11-terms/xterm</c> vá»i USE flag <c>unicode</c> vÃ ÄÆ°á»£c gá»i dưá»i >tên <c>uxterm</c>. <c>app-misc/screen</c> cÅ©ng há» trợ UTF-8, khi gá»i >bằng <c>screen -u</c> hoặc thêm dòng sau và o <path>~/.screenrc</path>: ></p> > ><pre caption="~/.screenrc cho UTF-8"> >defutf8 on ></pre> > ></body> ></section> ><section> ><title>Vim, Emacs, Xemacs và Nano</title> ><body> > ><p> >Vim há» trợ UTF-8 tá»t, và tá»± Äá»ng nháºn dạng táºp tin UTF-8. Thông tin >chi tiết, xem <c>:help mbyte.txt</c>. ></p> > ><p> >Emacs 22.x vá» sau há» trợ UTF-8 tá»t. Xemacs 22.x chưa há» trợ các ký tá»± >tá» hợp. ></p> > ><p> >Phiên bản cÅ© hÆ¡n cá»§a Emacs và /hoặc Xemacs có thá» cần cà i Äặt ><c>app-emacs/mule-ucs</c> và /hoặc <c>app-xemacs/mule-ucs</c> >và thêm Äoạn mã sau và o <path>~/.emacs</path> cá»§a bạn Äá» há» trợ CJK >trong UTF-8: ></p> > ><pre caption="Há» trợ Emacs CJK UTF-8"> >(require 'un-define) >(require 'jisx0213) >(set-language-environment "Japanese") >(set-default-coding-systems 'utf-8) >(set-terminal-coding-system 'utf-8) ></pre> > ><p> >Nano hiá»n thá»i không há» trợ UTF-8, mặc dù nó Äã ÄÆ°á»£c dá»± Äá»nh trong >thá»i gian dà i. Hy vá»ng nó sẽ thay Äá»i trong thá»i gian gần. Và o lúc >viết tà i liá»u nà y, há» trợ UTF-8 trong Nano Äã có trong CVS, sẽ có >trong phiên bản kế tiếp. ></p> > ></body> ></section> ><section> ><title>Shell</title> ><body> > ><p> >Hiá»n thá»i <c>bash</c> há» trợ tá»t Unicode thông qua thư viá»n GNU >readline. Z Shell không bằng -- không phần nà o cá»§a shell há» trợ >Unicode mặc dù sắp há» trợ các bảng mã nhiá»u byte. ></p> > ><p> >C shell, <c>tcsh</c> và <c>ksh</c> hoà n toà n không há» trợ Unicode. ></p> > ></body> ></section> ><section> ><title>Irssi</title> ><body> > ><p> >Irssi há» trợ UTF-8 tá»t, mặc dù cần Äặt tuỳ chá»n. ></p> > ><pre caption="Báºt UTF-8 trong Irssi"> >/set term_type UTF-8 ></pre> > ><p> >Vá»i các kênh trao Äá»i các ký tá»± phi ASCII theo dạng thức không phải >UTF-8, dùng <c>/recode</c> Äá» chuyá»n Äá»i bảng mã. Gõ <c>/help >recode</c> Äá» biết thêm. ></p> > ></body> ></section> ><section> ><title>Mutt</title> ><body> > ><p> >Mutt há» trợ Unicode rất tá»t. Äá» dùng UTF-8 vá»i Mutt, thêm dòng sau và o ><path>~/.muttrc</path>: ></p> > ><pre caption="~/.muttrc cho UTF-8"> >set send_charset="utf8" <comment>(bảng mã gá»i Äi)</comment> >set charset="utf8" <comment>(bảng mã hiá»n thá»)</comment> ></pre> > ><note> >Bạn có thá» vẫn thấy '?' trong mail khi Äá»c bằng Mutt. Äây là kết quả >cá»§a những ngưá»i dùng mail client không chá» rõ bảng mã ÄÆ°á»£c dùng. Bạn >không thá» là m gì nhiá»u hÆ¡n là yêu cầu há» cấu hình lại client cá»§a há» >cho Äúng. ></note> > ><p> >Thông tin chi tiết hÆ¡n có tạ <uri >link="http://wiki.mutt.org/index.cgi?MuttFaq/Charset">Mutt Wiki</uri>. ></p> > ></body> ></section> ><section> ><title>Less</title> ><body> > ><p> >Chúng ta dùng rất nhiá»u <c>more</c> hoặc <c>less</c> vá»i <c>|</c> Äá» >xem kết quả cá»§a lá»nh, như <c>dmesg | less</c>. Trong khi <c>more</c> >chá» cần shell hiá»u UTF-8, <c>less</c> cần Äặt biến môi trưá»ng ><c>LESSCHARSET</c> Äá» bảo Äảm hiá»n thá» Äúng Unicode. Có thá» Äặt biến >nà y trong <path>/etc/profile</path> hoặc <path>~/.bash_profile</path>. >Dùng trình soạn thảo cá»§a bạn và thêm dòng sau voà o má»t trong hai táºp >tin Äã Äá» cáºp. ></p> > ><pre caption="Thiết láºp biến môi trưá»ng less"> >LESSCHARSET=utf-8 ></pre> > ></body> ></section> ><section> ><title>Man</title> ><body> > ><p> >Các trang man là má»t phần không thá» tách rá»i cá»§a Linux. Äá» bảo Äảm bất >kỳ ký tá»± Unicode nà o trên trang man hiá»n thá» Äúng, sá»a ><path>/etc/man.conf</path> và thay má»t dòng như bên dưá»i. ></p> > ><pre caption="Thay Äá»i man.conf Äá» há» trợ Unicode"> ><comment>(Äây là dòng cÅ©)</comment> >NROFF /usr/bin/nroff -Tascii -c -mandoc ><comment>(Äây là dòng má»i)</comment> >NROFF /usr/bin/nroff -mandoc -c ></pre> > ></body> ></section> ><section> ><title>elinks và links</title> ><body> > ><p> >Äây là hai trình duyá»t web vÄn bản thông dụng, chúng ta sẽ xem cách >báºt há» trợ UTF-8 cho chúng. Trên <c>elinks</c> và <c>links</c>, có hai >cách Äá» là m, má»t là dùng tuỳ chá»n Setup từ trong trình duyá»t hoặc hiá»u >chá»nh táºp tin cấu hình. Äá» Äặt tuỳ chá»n từ trình duyá»t, má» má»t trang >vá»i <c>elinks</c> hoặc <c>links</c> và sau Äó <c>Alt+S</c> Äá» má» menu >Setup, chá»n tuỳ chá»n Terminal, hoặc nhấn <c>T</c>. Cuá»n xuá»ng và chá»n >tuỳ chá»n <c>UTF-8 I/O</c> bằng cách nhấn Enter. Lưu lại và thoát khá»i >menu. Trên <c>links</c> bạn phải lặp lại <c>Alt+S</c> rá»i nhấn ><c>S</c> Äá» lưu. Táºp tin cấu hình ÄÆ°á»£c hiá»n thá» bên dưá»i. ></p> > ><pre caption="Báºt UTF-8 cho elinks/links"> ><comment>(Vá»i elinks, sá»a /etc/elinks/elinks.conf hoặc ~/.elinks/elinks.conf và thêm dòng sau)</comment> >set terminal.linux.utf_8_io = 1 > ><comment>(Vá»i links, sá»a ~/.links/links.cfg và thêm dòng sau)</comment> >terminal "xterm" 0 1 0 us-ascii utf-8 ></pre> > ></body> ></section> ><section> ><title>Thá» nghiá»m</title> ><body> > ><p> >Có má»t sá» trang web Äá» kiá»m tra UTF-8. <c>net-www/w3m</c>, ><c>net-www/links</c>, <c>net-www/elinks</c>, <c>net-www/lynx</c> và >má»i trình duyá»t Web dá»±a trên Mozilla (bao gá»m Firefox) Äá»u há» trợ >UTF-8. Konqueror và Option cÅ©ng há» trợ UTF-8. ></p> > ><p> >Khi dùng má»t trong những trình duyá»t web vÄn bản trên, nhá» dùng >terminal há» trợ Unicode. ></p> > ><p> >Nếu bạn thấy má»t sá» ký tá»± hiá»n ô vuông vá»i con sá» bên trong, nghÄ©a là >phông chữ không có ký tá»± Äó. Bá»i váºy, nó hiá»n thỠô vuông vá»i mã tháºp >lục phân cá»§a ký tá»± UTF-8 Äó. ></p> > ><ul> > <li> > <uri link="http://www.w3.org/2001/06/utf-8-test/UTF-8-demo.html">A W3C > UTF-8 Test Page</uri> > </li> > <li> > <uri link="http://titus.uni-frankfurt.de/indexe.htm?/unicode/unitest.htm"> > A UTF-8 test page provided by the University of Frankfurt</uri> > </li> ></ul> > ></body> ></section> ><section> ><title>Kiá»u gõ</title> ><body> > ><p> ><e>Dead key</e> có thá» dùng Äá» nháºp các ký tá»± X không có trên bà n >phÃm. PhÃm nà y hoặc Äá»ng bằng cách nhấn Alt phải (á» và i nưá»c là AltGr) >và má»t phÃm tuỳ chá»n khác từ phần không nằm trong bảng chữ cái cá»§a bà n >phÃm sang bên trái phÃm Enter cùng lúc, rá»i nhả ra, sau Äó nhấn má»t ký >tá»±. Dead key sẽ thay Äá»i ký tá»± Äó. Ký tá»± nháºp có thá» thay Äá»i bằng >cách dùng phÃm Shift khi gõ AltGr và modifer. ></p> > ><p> >Äá» báºt dead key trong X, bạn cần có má»t layout há» trợ nó. Hầu hết >layout châu Ãu Äã há» trợ dead key vá»i nhiá»u mặc Äá»nh khác nhau. Tuy >nhiên, Äiá»u Äó không Äúng vá»i layout Bắc Mỹ. Mặc dù có má»t sá» chá» >không thá»ng nhất giữa các layout, cách dá» nhất là dùng layout theo mẫu >"en_US" thay vì "us" như và dụ. Layout ÄÆ°á»£c Äặt trong ><path>/etc/X11/xorg.conf</path> như sau: ></p> > ><pre caption="Má»t mẫu /etc/X11/xorg.conf"> >Section "InputDevice" > Identifier "Keyboard0" > Driver "kbd" > Option "XkbLayout" "en_US" <comment># thay vì chá» "us"</comment> > <comment>(Tuỳ chá»n Xkb khác á» Äây)</comment> >EndSection ></pre> > ><note> >Các thay Äá»i á» trên chỠáp dụng vá»i layout Bắc Mỹ, hoặc layout khác mà >dead key không hoạt Äá»ng. Ngưá»i dùng châu Ãu có dead key hoạt Äá»ng sẵn >rá»i. ></note> > ><p> >Thay Äá»i nà y sẽ có tác Äá»ng sau khi khá»i Äá»ng lại X server. ÄỠáp dụng >thảy Äá»i ngay tức thá»i, dùng <c>setxkbmap</c>, và dụ, <c>setxkbmap en_US</c>. ></p> > ><p> >Có lẽ dá» nhất là mô tả dead key bằng và dụ. Mặc dù kết quả tuỳ theo >locale, khái niá»m vẫn giá»ng nhau. Và dụ chứa ký tá»± UTF-8, nên Äá» có >thá» cần trình duyá»t có thá» xem UTF-8 hoặc Äã cấu hình locale UTF-8. ></p> > ><p> >Khi nhấn <c>AltGr</c> và <c>[</c> cùng lúc, nhả ra, rá»i nhấn <c>a</c>, >ta ÄÆ°á»£c 'ä'. Khi nhấn <c>AltGr</c> và <c>[</c> cùng lúc, nhả ra, rá»i >nhấn <c>e</c>, ta ÄÆ°á»£c 'ë'. Khi nhấn <c>AltGr</c> và <c>;</c> cùng >lúc, ta ÄÆ°á»£c 'á'. Khi nhấn <c>AltGr</c> và <c>;</c> cùng >lúc, sau Äó nhả ra và nhấn <c>e</c>, ta ÄÆ°á»£c 'é'. ></p> > ><p> >Khi nhấn <c>AltGr</c>, <c>Shift</c> và <c>[</c> cùng lúc, nhả ra, và nhấn <c>a</c>, ta ÄÆ°á»£c ký tá»± >Scandinavian 'Ã¥'. Tương tá»± khi nhấn <c>AltGr</c>, <c>Shift</c> và <c>[</c> cùng lúc, nhả ><e>chá»</e> <c>[</c>, rá»i nhấn tiếp lần nữa, ta ÄÆ°á»£c 'Ë'. Mặc dù nó có vẻ >giá»ng nhau nhưng ký tá»± nà y (U+02DA) không giá»ng ký hiá»u Äá» (U+00B0). >Nó chá» hoạt Äá»ng vá»i <c>[</c>, nhấn lần nữa sẽ tạo ra '¨'. ></p> > ><p> ><c>AltGr</c> có thá» ÄÆ°á»£c dùng má»t mình vá»i các phÃm bảng chữ cái. Và dụ <c>AltGr</c> >và <c>m</c>, ta ÄÆ°á»£c 'µ'. <c>AltGr</c> và <c>s</c> ra 'Ã'. Má»t sá» ngưá»i dùng châu Ãu mong >Äợi (vì bà n phÃm há» Äánh dấu như thế), <c>AltGr</c> và <c>4</c> (hoặc <c>E</c>, tuỳ bà n >phÃm) ra ký hiá»u Euro, 'â¬'. ></p> > ></body> ></section> ><section> ><title>Tà i nguyên</title> ><body> > ><ul> > <li> > <uri link="http://www.wikipedia.com/wiki/Unicode">The Wikipedia entry for > Unicode</uri> > </li> > <li> > <uri link="http://www.wikipedia.com/wiki/UTF-8">The Wikipedia entry for > UTF-8</uri> > </li> > <li><uri link="http://www.unicode.org">Unicode.org</uri></li> > <li><uri link="http://www.utf-8.com">UTF-8.com</uri></li> > <li><uri link="http://www.ietf.org/rfc/rfc3629.txt">RFC 3629</uri></li> > <li><uri link="http://www.ietf.org/rfc/rfc2277.txt">RFC 2277</uri></li> > <li> > <uri > link="http://www.tbray.org/ongoing/When/200x/2003/04/26/UTF">Characters vs. > Bytes</uri> > </li> ></ul> > ></body> ></section> ></chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 115517
:
74698
|
74699
|
74700
|
74701
|
74702
| 74703