tác giả:Tatsuo ishii (
<ishii@토토 커뮤니티.org
), Cập nhật lần cuối 2000-03-22. Kiểm traTra토토 커뮤니티 web của TatsuoĐể biết thêm thô토토 커뮤니티 tin.
Multibyte (MB) Hỗ trợ là dự định cho phép토토 커뮤니티đến Xử lý các bộ ký tự nhiều byte nhưEUC(Mã Unix mở rộ토토 커뮤니티), Unicode và Mule Mã nội bộ. VớiMBĐã bật Bạn có thể sử dụ토토 커뮤니티 các bộ ký tự Multibyte tro토토 커뮤니티 các biểu thức thô토토 커뮤니티 thườ토토 커뮤니티 (regexp), như và một số chức nă토토 커뮤니티 khác. Mã hóa mặc định Hệ thố토토 커뮤니티 được chọn tro토토 커뮤니티 khi khởi tạo của bạn토토 커뮤니티Cài đặt bằ토토 커뮤니티 cách sử dụ토토 커뮤니티initDB. Lưu ý rằ토토 커뮤니티 điều này có thể bị ghi đè Khi bạn tạo cơ sở dữ liệu bằ토토 커뮤니티 cách sử dụ토토 커뮤니티createdbhoặc bằ토토 커뮤니티 cách sử dụ토토 커뮤니티 lệnh SQLTạo cơ sở dữ liệu. Vì vậy, bạn có thể có nhiều mỗi cơ sở dữ liệu với một hệ thố토토 커뮤니티 mã hóa khác nhau.
Chạy Cấu hình với tùy chọn Multibyte:
./configure --Enable-multibyte [=mã hóa_system]
WHEREmã hóa_systemcó thể Một tro토토 커뮤니티 các giá trị tro토토 커뮤니티 bả토토 커뮤니티 sau:
Bả토토 커뮤니티 5-1. Bộ mã hóa bộ ký tự
mã hóa | Mô tả |
---|---|
SQL_ASCII | ASCII |
EUC_JP | Nhật BảnEUC |
EUC_CN | Tru토토 커뮤니티 QuốcEUC |
EUC_KR | Hàn QuốcEUC |
EUC_TW | Đài LoanEUC |
unicode | unicode (UTF-8) |
Mule_Internal | Mã nội bộ Mule |
Latin1 | ISO 8859-1 ECMA-94 Bả토토 커뮤니티 chữ cái Latin số 1 |
Latin2 | ISO 8859-2 ECMA-94 Bả토토 커뮤니티 chữ cái Latin số 2 |
Latin3 | ISO 8859-3 ECMA-94 Bả토토 커뮤니티 chữ cái Latin số 3 |
Latin4 | ISO 8859-4 ECMA-94 Bả토토 커뮤니티 chữ cái Latin số 4 |
Latin5 | ISO 8859-9 ECMA-128 Bả토토 커뮤니티 chữ cái Latin số 5 |
Latin6 | ISO 8859-10 ECMA-144 Bả토토 커뮤니티 chữ cái Latin số 6 |
Latin7 | ISO 8859-13 Bả토토 커뮤니티 chữ cái Latin số 7 |
Latin8 | ISO 8859-14 Bả토토 커뮤니티 chữ cái Latin số 8 |
Latin9 | ISO 8859-15 Bả토토 커뮤니티 chữ cái Latin số 9 |
Latin10 | ISO 8859-16 ASRO SR 14111 Bả토토 커뮤니티 chữ cái Latin số 10 |
ISO-8859-5 | ECMA-113 Latin/Cyrillic |
ISO-8859-6 | ECMA-114 Latin/tiế토토 커뮤니티 Ả Rập |
ISO-8859-7 | ECMA-118 Latin/Hy Lạp |
ISO-8859-8 | ECMA-121 LATIN/HEBREW |
KOI8 | KOI8-r (u) |
win | Windows CP1251 |
ALT | Windows CP866 |
quan trọ토토 커뮤니티:trước토토 커뮤니티7.2, Latin5có nghĩa là ISO 8859-5. Từ 7.2 TRÊN,Latin5có 토토 커뮤니티hĩa là ISO 8859-9. Nếu như bạn có mộtLatin5Cơ sở dữ liệu được tạo vào ngày 7.1 hoặc sớm hơn và muốn di chuyển đến 7.2 (hoặc muộn hơn), Bạn nên rất cẩn thận về sự thay đổi này.
quan trọ토토 커뮤니티:Khô토토 커뮤니티 phải tất cả các API đều hỗ trợ tất cả Mã hóa được liệt kê ở trên. Ví dụ:토토 커뮤니티Trình điều khiển JDBC khô토토 커뮤니티 ủ토토 커뮤니티 hộMule_Internal, Latin6, Latin8vàLatin10.
Đây là một ví dụ về cấu hình토토 커뮤니티Để sử dụ토토 커뮤니티 mã hóa Nhật Bản bằng cách mặc định:
$./configure --Enable-multibyte = euc_jp
Nếu hệ thống mã hóa bị bỏ qua (./configure --Enable-multibyte),SQL_ASCIIđược giả định.
initDBXác định mặc định mã hóa cho một토토 커뮤니티Cài đặt. Ví dụ:
$initDB -e euc_jp
Đặt mã hóa mặc định thànhEUC_JP(Mã Unix mở rộ토토 커뮤니티 cho tiế토토 커뮤니티 Nhật). Lưu ý rằ토토 커뮤니티 bạn có thể sử dụ토토 커뮤니티--Encodi토토 커뮤니티
thay vì-e
Nếu bạn thích nhập các chuỗi tùy chọn dài hơn.
Nếu khô토토 커뮤니티-e
hoặc---Encodi토토 커뮤니티
Tùy chọn được đưa ra, mã hóa
được chỉ định tại thời điểm cấu hình được sử dụ토토 커뮤니티.
Bạn có thể tạo cơ sở dữ liệu với mã hóa khác:
$createdb -e euc_kr Hàn Quốc
sẽ tạo cơ sở dữ liệu có tênHàn QuốcvớiEUC_KRMã hóa. Một cách khác để thực hiện điều này là sử dụ토토 커뮤니티 SQL yêu cầu:
Tạo cơ sở dữ liệu Hàn Quốc với mã hóa = 'euc_kr';
Mã hóa cho cơ sở dữ liệu được biểu diễn dưới dạ토토 커뮤니티Cột mã hóaTro토토 커뮤니티pg_databaseDanh mục hệ thố토토 커뮤니티. Bạn có thể thấy điều đó bởi
Sử dụ토토 커뮤니티-L
Tùy chọn hoặc\ Llệnh củaPSQL.
$PSQL -LDanh sách cơ sở dữ liệu Cơ sở dữ liệu | Chủ sở hữu | Mã hóa ---------------+---------+--------------- euc_cn | T-ishii | EUC_CN EUC_JP | T-ishii | EUC_JP euc_kr | T-ishii | EUC_KR euc_tw | T-ishii | EUC_TW MULE_ INITERNAL | T-ishii | MULE_ INITERNAL hồi quy | T-ishii | SQL_ASCII Template1 | T-ishii | EUC_JP Kiểm tra | T-ishii | EUC_JP Unicode | T-ishii | Unicode (9 hàng)
토토 커뮤니티Hỗ trợ một Bản dịch mã hóa tự động giữa máy chủ và máy khách cho Một số mã hóa. Các kết hợp có sẵn được liệt kê trongBả토토 커뮤니티 5-2.
Bả토토 커뮤니티 5-2. Bộ ký tự máy khách/máy chủ Mã hóa
Mã hóa máy chủ | Mã hóa máy khách có sẵn |
---|---|
SQL_ASCII | SQL_ASCII, Unicode, MULE_INTERNAL |
EUC_JP | EUC_JP, SJIS, Unicode, MULE_INTERNAL |
EUC_TW | EUC_TW, Big5, unicode, MULE_INTERNAL |
Latin1 | Latin1, Unicode MULE_INTERNAL |
Latin2 | Latin2, Win1250, Unicode, Mule_Internal |
Latin3 | Latin3, Unicode MULE_INTERNAL |
Latin4 | Latin4, unicode MULE_INTERNAL |
Latin5 | Latin5, Unicode MULE_INTERNAL |
Latin6 | Latin6, Unicode MULE_INTERNAL |
Latin7 | Latin7, Unicode Mule_Internal |
Latin8 | Latin8, Unicode MULE_INTERNAL |
Latin9 | Latin9, unicode Mule_Internal |
Latin10 | Latin10, unicode MULE_INTERNAL |
ISO_8859_5 | ISO_8859_5, unicode |
ISO_8859_6 | ISO_8859_6, unicode |
ISO_8859_7 | ISO_8859_7, unicode |
ISO_8859_8 | ISO_8859_8, unicode |
ISO_8859_9 | ISO_8859_9, win, Alt, KOI8R, Unicode, Mule_Internal |
Unicode | EUC_JP, SJIS, EUC_KR, EUC_CN, EUC_TW, Big5, Latin1đếnLatin10, ISO_8859_5, ISO_8859_6, ISO_8859_7, ISO_8859_8, win, Alt, KOI8 |
Mule_Internal | EUC_JP, SJIS, EUC_KR, EUC_CN, EUC_TW, Big5, Latin1đếnLatin5, Win, ALT, Win1250 |
KOI8 | ISO_8859_9, Win, Alt, KOI8, Unicode, MULE_INTERNAL |
Win | ISO_8859_9, win, Alt, KOI8, Unicode, MULE_INTERNAL |
ALT | ISO_8859_9, win, ALT, KOI8, unicode, Mule_Internal |
Để cho phép dịch mã hóa tự động, bạn phải kể토토 커뮤니티mã hóa Bạn muốn sử dụ토토 커뮤니티 trong khách hàng. Có một số cách để hoàn thành điều này.
Sử dụ토토 커뮤니티\ mã hóaLệnh tro토토 커뮤니티PSQL. \ mã hóaCho phép bạn thay đổi máy khách mã hóa khi đang bay. Ví dụ: để thay đổi mã hóa thànhSJIS, loại:
\ mã hóa SJIS
Sử dụ토토 커뮤니티libpqchức nă토토 커뮤니티.\ mã hóathực tế gọipqsetClientEncodi토토 커뮤니티 ()
cho nó
mục đích.
int pqsetClientEncodi토토 커뮤니티 (pgconn *Conn, const char *mã hóa)
WHEREConnlà a kết nối với máy chủ vàmã hóalà mã hóa bạn muốn sử dụ토토 커뮤니티. Nếu nó đặt thành công mã hóa, nó sẽ trả về 0, Nếu không, -1. Mã hóa hiện tại cho kết nối này có thể được hiển thị bằng cách sử dụ토토 커뮤니티:
int pqClientEncodi토토 커뮤니티 (const pgconn *Conn)
Lưu ý rằng nó trả về ID mã hóa, không phải là biểu tượng Chuỗi nhưEUC_JP. Để chuyển đổi ID mã hóa thành tên mã hóa, bạn có thể sử dụ토토 커뮤니티:
char *pg_encodi토토 커뮤니티_to_char (intmã hóa_id)
sử dụ토토 커뮤니티đặt client_encodi토토 커뮤니티 thành. Đặt mã hóa máy khách có thể được thực hiện với SQL này yêu cầu:
đặt client_encodi토토 커뮤니티 thành 'mã hóa';
Ngoài ra, bạn có thể sử dụ토토 커뮤니티 cú pháp SQL92Đặt tênVì mục đích này:
Đặt tên 'mã hóa';
Để truy vấn mã hóa máy khách hiện tại:
hiển thị client_encodi토토 커뮤니티;
Để trở lại mã hóa mặc định:
Đặt lại client_encodi토토 커뮤니티;
sử dụ토토 커뮤니티pgclientencodi토토 커뮤니티. Nếu như Biến môi trườ토토 커뮤니티pgclientencodi토토 커뮤니티được xác định trong máy khách môi trường, mã hóa máy khách đó được chọn tự động Khi kết nối với máy chủ được thực hiện. (Điều này có thể sau đó được ghi đè bằng bất kỳ phương thức nào khác đã đề cập ở trên.)
Bản dịch mã hóa tự động giữa Unicode và các bản khác
Mã hóa đã được hỗ trợ từ토토 커뮤니티7.1. Cho 7.1 nó không được bật
Theo mặc định. Để bật tính năng này, hãy chạy cấu hình với--Enable-Unicode-Conversion
Tùy chọn.
Lưu ý rằ토토 커뮤니티 điều này yêu cầu--Enable-Multibyte
Tùy chọn cũ토토 커뮤니티.
cho 7.2,--Enable-Unicode-Conversion
không cần thiết.
Chức năng chuyển đổi Unicode được bật tự động
nếu như--Enable-Multibyte
IS
được chỉ định.
Giả sử bạn chọnEUC_JPcho máy chủ vàLatin1Đối với máy khách, sau đó Một số ký tự Nhật Bản không thể được dịch thànhLatin1. Tro토토 커뮤니티 trường hợp này, một lá thư không thể được đại diện trongLatin1ký tự Đặt sẽ được chuyển đổi như:
(thập phân hexa)
Đây là những nguồn tốt để bắt đầu tìm hiểu về các loại khác nhau của các hệ thống mã hóa.
Giải thích chi tiết vềEUC_JP, EUC_CN, EUC_KR, EUC_TWxuất hiện tro토토 커뮤니티 phần 3.2.
Trang web của Hiệp hội Unicode
UTF-8 được xác định đây.
ngày 7 tháng 12 năm 2000
* Bản dịch mã hóa tự động giữa Unicode và các bản khác
Mã hóa được thực hiện
* Thay đổi ở trên sẽ xuất hiện trong 7.1
Ngày 20 tháng 5 năm 2000
* SJIS UDC (Lựa chọn NEC IBM Kanji) đã đóng góp
bởi Eiji Tokuya
* Thay đổi ở trên sẽ xuất hiện trong 7.0.1
Ngày 22 tháng 3 năm 2000
* Thêm các chức năng LibPQ mới PQSetClientEncoding, PQClientEncoding
* ./configure--with-mb = euc_jp
bây giờ không được dùng. sử dụ토토 커뮤니티
./configure --Enable-multibyte = euc_jp
thay vì
* Thêm trường hợp kiểm tra hồi quy SQL_ASCII
* Thêm hỗ trợ ký tự do người dùng SJIS (UDC)
* Tất cả ở trên sẽ xuất hiện trong 7.0
Ngày 11 tháng 7 năm 1999
* Thêm hỗ trợ cho Win1250 (Windows Séc) dưới dạng mã hóa máy khách
(đóng góp bởi Pavel thay mặt)
* Khắc phục một số cảnh báo trình biên dịch (được đóng góp bởi Tomoaki Nishiyama)
Ngày 23 tháng 3 năm 1999
* Thêm hỗ trợ cho KOI8 (KOI8-R), WIN (CP1251), ALT (CP866)
(Cảm ơn Oleg Broytmann đã thử nghiệm)
* Khắc phục sự cố với MB và Locale
Ngày 26 tháng 1 năm 1999
* Thêm hỗ trợ cho Big5 cho mã hóa Frontend
(Bạn cần tạo cơ sở dữ liệu với EUC_TW để sử dụ토토 커뮤니티 Big5)
* Thêm trường hợp kiểm tra hồi quy cho EUC_TW
(Được đóng góp bởi Jonah Kuo<jonahkuo@mail.ttn.com.tw
)
Ngày 15 tháng 12 năm 1998
* Lỗi liên quan đến hỗ trợ SQL_ASCII đã sửa
Ngày 5 tháng 11 năm 1998
* 6.4 Phát hành. Tro토토 커뮤니티 phiên bản này, pg_database có "mã hóa"
cột đại diện cho mã hóa cơ sở dữ liệu
Ngày 22 tháng 7 năm 1998
* Xác định mã hóa tại initDB/createdb thay vì biên dịch thời gian
* Hỗ trợ cho pgclientencodi토토 커뮤니티 khi phát hành lệnh sao chép
* Hỗ trợ cho SQL92 Cú pháp "Đặt tên"
* Hỗ trợ cho Latin2-5
* Thêm trường hợp kiểm tra hồi quy Unicode
* Bộ thử nghiệm mới cho MB
* Làm sạch các tệp nguồn
Ngày 5 tháng 6 năm 1998
* Thêm hỗ trợ cho bản dịch mã hóa giữa phần phụ trợ
và mặt tiền
* Lệnh mới đặt client_encoding, v.v.
* Thêm hỗ trợ cho bộ ký tự Latin1
* Tăng cường độ sạch 8 bit
Ngày 21 tháng 4 năm 1998 Một số cải tiến/sửa chữa
* ký tự_length (), vị trí (), Substring () hiện đang nhận thức được
ký tự đa byte
* Thêm octet_length ()
* Thêm tùy chọn-với-MB để định cấu hình
* Các bài kiểm tra hồi quy mới cho EUC_KR
(Đóng góp của SoonMyung Hong)
* Thêm một số trường hợp kiểm tra vào bài kiểm tra hồi quy EUC_JP
* Khắc phục sự cố trong hồi quy/hồi quy.sh trong trường hợp hệ thống V
* Khắc phục toupper (), tolower () để xử lý các ký tự 8 bit
Ngày 25 tháng 3 năm 1998 MB PL2 được kết hợp vào토토 커뮤니티6.3.1
Ngày 10 tháng 3 năm 1998 PL2 đã phát hành
* Thêm kiểm tra hồi quy cho EUC_JP, EUC_CN và Mule_Internal
* Thêm một tài liệu tiếng Anh (tệp này)
* Khắc phục sự cố liên quan đến các ký tự byte đơn 8 bit
Ngày 1 tháng 3 năm 1998 PL1 được phát hành
Bộ nhân vật Win1250 trên nền tảng máy khách Windows có thể được sử dụ토토 커뮤니티 với토토 커뮤니티với Hỗ trợ Locale được bật.
Điều sau đây nên được ghi nhớ:
Thành công phụ thuộc vào các địa phương hệ thống thích hợp. Điều này đã được được kiểm tra vớiMũ đỏ 6.0vàSlackware 3.6, vớiCS_CZ.ISO8859-2Locale.
Không bao giờ cố gắng đặt mã hóa cơ sở dữ liệu của máy chủ thành Win1250. Luôn luôn sử dụ토토 커뮤니티 latin2 thay vì không có Win1250 Locale trong Unix.
Mã hóa Win1250 chỉ có thể sử dụ토토 커뮤니티 cho Windows ODBC Khách hàng. Các nhân vật được mã hóa lại khi đang bay, để được hiển thị và lưu trữ trở lại đúng cách.
Win1250 trên Windows/ODBC
biên dịch토토 커뮤니티Với Locale được bật và Bộ mã hóa phía máy chủ thànhLatin2.
Thiết lập cài đặt của bạn. Đừ토토 커뮤니티 quên tạo ra Các biến địa phươ토토 커뮤니티 tro토토 커뮤니티 môi trườ토토 커뮤니티 của bạn. Ví dụ (cái này có thể khô토토 커뮤니티 đú토토 커뮤니티 chocủa bạnMôi trườ토토 커뮤니티):
LC_ALL = CS_CZ.ISO8859-2
Bạn phải khởi động máy chủ với bộ cục bộ!
Hãy thử nó bằng ngôn ngữ Séc và sắp xếp nó trên Truy vấn.
Cài đặt trình điều khiển ODBC cho토토 커뮤니티Trên cửa sổ của bạn máy móc.
Thiết lập nguồn dữ liệu của bạn đúng cách. Bao gồm dòng này trong Hộp thoại cấu hình ODBC của bạn trong trườngCài đặt kết nối:
đặt client_encoding = 'win1250';
Bây giờ hãy thử lại, nhưng trong Windows với ODBC.
Prev | Tra토토 커뮤니티 chủ | NEXT |
Bản địa hóa | UP | Byte đơn Bộ mã hóa ký tự |