Postgresql 8.4.22 Tài kèo chấp bóng đá hôm nay | ||||
---|---|---|---|---|
prev | Backward nhanh | Chương 22. Bản địa hóa | Chuyển tiếp nhanh | NEXT |
Hỗ trợ bộ ký tự trongPostgreSQL10845_11041EUC(Mã Unix mở rộng), UTF-8 và Mule Mã nội bộ. Tất cả các bộ ký tự được hỗ trợ có thể được sử dụng minh bạch bởi khách hàng, nhưng một số ít không được hỗ trợ để sử dụng trong kèo chấp bóng đá hôm nay chủ (nghĩa là, như một mã hóa phía kèo chấp bóng đá hôm nay chủ). Các Bộ ký tự mặc định được chọn trong khi khởi tạo của bạnPostgreSQLCụm cơ sở dữ kèo chấp bóng đá hôm nay sử dụnginitDB. Nó có thể bị ghi đè khi bạn tạo một cơ sở dữ kèo chấp bóng đá hôm nay, vì vậy bạn có thể có nhiều cơ sở dữ kèo chấp bóng đá hôm nay với một bộ ký tự khác.
11602_11718lc_ctypevàLC_CollateCài đặt địa phương. VìChoặcPOSIXLocale, bất kỳ bộ ký tự nào cũng được cho phép, nhưng Đối với các địa phương khác, chỉ có một bộ nhân vật sẽ hoạt động chính xác. (Tuy nhiên, trên Windows, mã hóa UTF-8 có thể được sử dụng với bất kỳ địa điểm nào.)
Bảng 22-1Hiển thị Các bộ ký tự có sẵn để sử dụng trongPostgreSQL.
Bảng 22-1.PostgreSQLBộ ký tự
tên | Mô tả | Ngôn ngữ | kèo chấp bóng đá hôm nay chủ? | byte/char | Bí danh |
---|---|---|---|---|---|
Big5 | Big Five | Trung Quốc truyền thống | Không | 1-2 | Win950, Windows950 |
EUC_CN | Mở rộng UNIX CODE-CN | Trung Quốc đơn giản | Có | 1-3 | |
EUC_JP | 13639_13662 | Nhật Bản | Có | 1-3 | |
EUC_JIS_2004 | Code unix-jp mở rộng, JIS x 0213 | Nhật Bản | Có | 1-3 | |
EUC_KR | Mở rộng Unix Code-Kr | Hàn Quốc | Có | 1-3 | |
EUC_TW | Mở rộng UNIX CODE-TW | Trung Quốc truyền thống, Đài Loan | Có | 1-3 | |
GB18030 | Tiêu chuẩn quốc gia | Trung Quốc | không | 1-2 | |
GBK | Tiêu chuẩn quốc gia mở rộng | Trung Quốc đơn giản | không | 1-2 | Win936, Windows936 |
ISO_8859_5 | ISO 8859-5,ECMA 113 | Latin/Cyrillic | Có | 1 | |
ISO_8859_6 | ISO 8859-6,ECMA 114 | Latin/tiếng Ả Rập | Có | 1 | |
ISO_8859_7 | ISO 8859-7,ECMA 118 | Latin/Hy Lạp | Có | 1 | |
ISO_8859_8 | ISO 8859-8,ECMA 121 | Latin/tiếng Do Thái | Có | 1 | |
Johab | Johab | Hàn Quốc (Hangul) | Không | 1-3 | |
KOI8R | KOI8-R | Cyrillic (tiếng Nga) | Có | 1 | KOI8 |
KOI8U | KOI8-U | Cyrillic (Ukraine) | Có | 1 | |
Latin1 | ISO 8859-1,ECMA 94 | Tây Âu | Có | 1 | ISO88591 |
Latin2 | ISO 8859-2,ECMA 94 | Trung Âu | Có | 1 | ISO88592 |
Latin3 | ISO 8859-3,ECMA 94 | Nam Âu | Có | 1 | ISO88593 |
Latin4 | ISO 8859-4,ECMA 94 | Bắc Âu | Có | 1 | ISO88594 |
Latin5 | ISO 8859-9,ECMA 128 | Thổ Nhĩ Kỳ | Có | 1 | ISO88599 |
Latin6 | ISO 8859-10,ECMA 144 | Nordic | Có | 1 | ISO885910 |
Latin7 | ISO 8859-13 | Baltic | Có | 1 | ISO885913 |
Latin8 | ISO 8859-14 | Celtic | Có | 1 | ISO885914 |
Latin9 | ISO 8859-15 | Latin1 với Euro và Accent | Có | 1 | ISO885915 |
Latin10 | ISO 8859-16,ASROSR 14111 | Rumani | Có | 1 | ISO885916 |
Mule_Internal | Mã nội bộ Mule | Emacs đa ngôn ngữ | Có | 1-4 | |
SJIS | SHIFT JIS | Nhật Bản | Không | 1-2 | MSKANJI, ShiftJis, Win932, Windows932 |
Shift_Jis_2004 | SHIFT JIS, JIS X 0213 | Nhật Bản | Không | 1-2 | |
SQL_ASCII | không xác định (xem văn bản) | bất kỳ | Có | 1 | |
UHC | Mã Hangul thống nhất | Hàn Quốc | không | 1-2 | Win949, Windows949 |
UTF8 | Unicode, 8-bit | tất cả | Có | 1-4 | Unicode |
Win866 | Windows CP866 | Cyrillic | Có | 1 | alt |
Win874 | Windows CP874 | Thái | Có | 1 | |
Win1250 | Windows CP1250 | Trung Âu | Có | 1 | |
Win1251 | Windows CP1251 | Cyrillic | Có | 1 | Win |
Win1252 | Windows CP1252 | Tây Âu | Có | 1 | |
Win1253 | Windows CP1253 | Hy Lạp | Có | 1 | |
Win1254 | Windows CP1254 | Thổ Nhĩ Kỳ | Có | 1 | |
Win1255 | Windows CP1255 | Hê -bơ -rơ | Có | 1 | |
Win1256 | Windows CP1256 | Ả Rập | Có | 1 | |
Win1257 | Windows CP1257 | Baltic | Có | 1 | |
Win1258 | Windows CP1258 | Việt Nam | Có | 1 | ABC, TCVN, TCVN5712, VSCII |
không phải tất cảAPIS Hỗ trợ tất cả Các bộ ký tự được liệt kê. Ví dụ:PostgreSQLTrình điều khiển JDBC không hỗ trợMULE_INTERNAL, Latin6, Latin8vàLatin10.
TheSQL_ASCII25074_25184SQL_ASCII, The kèo chấp bóng đá hôm nay chủ diễn giải các giá trị byte 0-127 theo ASCII Tiêu chuẩn, trong khi các giá trị byte 128-255 được coi là không thể giải thích được ký tự. Không có chuyển đổi mã hóa nào sẽ được thực hiện khi Cài đặt làSQL_ASCII. Vì vậy, điều này Cài đặt không phải là một tuyên bố rằng một mã hóa cụ thể được sử dụng, như một tuyên bố thiếu hiểu biết về mã hóa. TRONG Hầu hết các trường hợp, nếu bạn đang làm việc với bất kỳ dữ kèo chấp bóng đá hôm nay không phải ASCII nào, đó là không khôn ngoan khi sử dụngSQL_ASCIICài đặt, bởi vìPostgreSQLsẽ là Không thể giúp bạn bằng cách chuyển đổi hoặc xác nhận không phải là ASCII ký tự.
initDBXác định mặc định Bộ ký tự cho mộtPostgreSQLCụm. Ví dụ,
initDB -e euc_jp
Đặt bộ ký tự mặc định (mã hóa) thànhEUC_JP(Mã Unix mở rộng cho tiếng Nhật). Bạn có thể sử dụng--Encodingthay vì-eNếu bạn thích gõ tùy chọn dài hơn chuỗi. Nếu không-ehoặc---EncodingTùy chọn được đưa ra,initDBcố gắng xác định thích hợp mã hóa để sử dụng dựa trên locale được chỉ định hoặc mặc định.
Bạn có thể chỉ định mã hóa không mặc định tại Tạo cơ sở dữ kèo chấp bóng đá hôm nay thời gian, với điều kiện là mã hóa tương thích với Locale đã chọn:
26905_26995
Điều này sẽ tạo cơ sở dữ kèo chấp bóng đá hôm nay có tênHàn Quốcsử dụng bộ ký tựEUC_KRvà LocaleKO_KR. Một cách khác để thực hiện điều này là sử dụng Lệnh SQL này:
27292_27409
Lưu ý rằng các lệnh trên chỉ định sao chépTemplate0Cơ sở dữ kèo chấp bóng đá hôm nay. Khi sao chép bất kỳ cơ sở dữ kèo chấp bóng đá hôm nay khác, cài đặt mã hóa và địa phương không thể đã thay đổi từ cơ sở dữ kèo chấp bóng đá hôm nay nguồn, vì điều đó có thể dẫn đến dữ kèo chấp bóng đá hôm nay tham nhũng. Để biết thêm thông tin, xemPhần 21.3.
Mã hóa cho cơ sở dữ kèo chấp bóng đá hôm nay được lưu trữ trong danh mục hệ thốngpg_database. Bạn có thể thấy nó bằng cách sử dụng The-LTùy chọn hoặc\ Llệnh củaPSQL.
$PSQL -LDanh sách cơ sở dữ kèo chấp bóng đá hôm nay Tên | Chủ sở hữu | Mã hóa | Đối chiếu | Ctype | Truy cập các đặc quyền -----------+----------+-----------+-------------+--------------+----------------------------------------------------- clocaledb | Hlinnaka | SQL_ASCII | C | C | Tiếng Anhdb | Hlinnaka | UTF8 | en_gb.utf8 | en_gb.utf8 | Tiếng Nhật | Hlinnaka | UTF8 | ja_jp.utf8 | ja_jp.utf8 | Hàn Quốc | Hlinnaka | Euc_kr | ko_kr.euckr | ko_kr.euckr | Postgres | Hlinnaka | UTF8 | fi_fi.utf8 | fi_fi.utf8 | Template0 | Hlinnaka | UTF8 | fi_fi.utf8 | fi_fi.utf8 | = c/hlinnaka, hlinnaka = ctc/hlinnaka Template1 | Hlinnaka | UTF8 | fi_fi.utf8 | fi_fi.utf8 | = c/hlinnaka, hlinnaka = ctc/hlinnaka
quan trọng:Trên hầu hết các hệ điều hành hiện đại,PostgreSQLCó thể xác định Bộ ký tự nào được ngụ ý bởi mộtlc_ctype29193_29555
PostgreSQLsẽ cho phép Superusers để tạo cơ sở dữ kèo chấp bóng đá hôm nay vớiSQL_ASCIImã hóa ngay cả khilc_ctypekhông phảiChoặcPOSIX. Như đã lưu ý ở trên,SQL_ASCIIkhông thực thi dữ kèo chấp bóng đá hôm nay đó được lưu trữ trong cơ sở dữ kèo chấp bóng đá hôm nay có bất kỳ mã hóa cụ thể nào, và vì vậy Sự lựa chọn này đặt ra rủi ro của hành vi sai trái phụ thuộc vào địa phương. Sử dụng kết hợp các cài đặt này không được chấp nhận và có thể Một ngày nào đó bị cấm hoàn toàn.
PostgreSQLHỗ trợ Chuyển đổi bộ ký tự tự động giữa kèo chấp bóng đá hôm nay chủ và kèo chấp bóng đá hôm nay khách cho một số kết hợp bộ ký tự nhất định. Sự chuyển đổi thông tin được lưu trữ trongPG_ConversionDanh mục hệ thống.PostgreSQL30713_30772Bảng 22-2. Bạn có thể tạo chuyển đổi mới bằng lệnh SQLTạo chuyển đổi.
Bảng 22-2. Bộ ký tự kèo chấp bóng đá hôm nay khách/kèo chấp bóng đá hôm nay chủ Chuyển đổi
Bộ ký tự kèo chấp bóng đá hôm nay chủ | Bộ ký tự kèo chấp bóng đá hôm nay khách có sẵn |
---|---|
Big5 | Không được hỗ trợ như một kèo chấp bóng đá hôm nay chủ mã hóa |
EUC_CN | EUC_CN, Mule_Internal, UTF8 |
EUC_JP | EUC_JP, MULE_INTERNAL, SJIS, UTF8 |
EUC_KR | EUC_KR, Mule_Internal, UTF8 |
EUC_TW | EUC_TW, Big5, MULE_INTERNAL, UTF8 |
GB18030 | Không được hỗ trợ như một kèo chấp bóng đá hôm nay chủ mã hóa |
GBK | 32996_33044 |
ISO_8859_5 | ISO_8859_5, KOI8R, Mule_Internal, UTF8, Win866, Win1251 |
ISO_8859_6 | ISO_8859_6, UTF8 |
ISO_8859_7 | ISO_8859_7, UTF8 |
ISO_8859_8 | ISO_8859_8, UTF8 |
Johab | Johab, UTF8 |
KOI8R | KOI8R, ISO_8859_5, Mule_Internal, UTF8, Win866, Win1251 |
KOI8U | 34828_34835, UTF8 |
Latin1 | Latin1, MULE_INTERNAL, UTF8 |
Latin2 | Latin2, Mule_Internal, UTF8, Win1250 |
Latin3 | Latin3, Mule_Internal, UTF8 |
Latin4 | Latin4, MULE_INTERNAL, UTF8 |
Latin5 | Latin5, UTF8 |
Latin6 | Latin6, UTF8 |
Latin7 | Latin7, UTF8 |
Latin8 | Latin8, UTF8 |
Latin9 | Latin9, UTF8 |
Latin10 | Latin10, UTF8 |
Mule_Internal | MULE_INTERNAL, Big5, EUC_CN, EUC_JP, EUC_KR, EUC_TW, ISO_8859_5, KOI8R, Latin1đếnLatin4, SJIS, Win866, Win1250, Win1251 |
SJIS | Không được hỗ trợ như một kèo chấp bóng đá hôm nay chủ mã hóa |
SQL_ASCII | bất kỳ (không Chuyển đổi sẽ được thực hiện) |
UHC | Không được hỗ trợ như một kèo chấp bóng đá hôm nay chủ mã hóa |
UTF8 | Tất cả được hỗ trợ mã hóa |
Win866 | Win866, ISO_8859_5, KOI8R, Mule_Internal, UTF8, Win1251 |
Win874 | Win874, UTF8 |
Win1250 | Win1250, Latin2, Mule_Internal, UTF8 |
Win1251 | Win1251, ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, Win866 |
Win1252 | Win1252, UTF8 |
Win1253 | Win1253, UTF8 |
Win1254 | Win1254, UTF8 |
Win1255 | Win1255, UTF8 |
Win1256 | Win1256, UTF8 |
Win1257 | Win1257, UTF8 |
Win1258 | Win1258, UTF8 |
Để bật chuyển đổi bộ ký tự tự động, bạn phải kểPostgreSQL41512_41631
Sử dụng\ mã hóaLệnh trongPSQL. \ mã hóa41812_41919SJIS, loại:
\ mã hóa SJIS
libpq(Phần 30.9) có các chức năng để Kiểm soát mã hóa kèo chấp bóng đá hôm nay khách.
Sử dụngđặt client_encoding thành42294_42376
đặt client_encoding thành 'giá trị';
Ngoài ra bạn có thể sử dụng cú pháp SQL tiêu chuẩnĐặt têncho mục đích này:
Đặt tên 'giá trị';
Để truy vấn mã hóa kèo chấp bóng đá hôm nay khách hiện tại:
hiển thị client_encoding;
Để trở lại mã hóa mặc định:
Đặt lại client_encoding;
Sử dụngpgclientencoding. Nếu Biến môi trường43084_43102được xác định trong kèo chấp bóng đá hôm nay khách môi trường, mã hóa kèo chấp bóng đá hôm nay khách đó được chọn tự động Khi kết nối với kèo chấp bóng đá hôm nay 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.)
Sử dụng biến cấu hìnhclient_encoding. Nếuclient_encodingBiến là đặt, mã hóa kèo chấp bóng đá hôm nay khách đó được tự động chọn khi Kết nối với kèo chấp bóng đá hôm nay chủ được thực hiện. (Điều này sau đó có thể là ghi đè bằng cách sử dụng bất kỳ phương pháp nào khác được đề cập bên trên.)
Nếu không thể chuyển đổi một ký tự cụ thể - Giả sử bạn đã chọnEUC_JPcho kèo chấp bóng đá hôm nay chủ vàLatin1Đối với kèo chấp bóng đá hôm nay khách, sau đó Một số ký tự Nhật Bản không có đại diện trongLatin1- thì lỗi là báo cáo.
Nếu bộ ký tự kèo chấp bóng đá hôm nay khách được xác định làSQL_ASCII, Chuyển đổi mã hóa bị vô hiệu hóa, Bất kể bộ ký tự của kèo chấp bóng đá hôm nay chủ. Cũng giống như kèo chấp bóng đá hôm nay chủ, sử dụngSQL_ASCIIlà không khôn ngoan Trừ khi bạn đang làm việc với dữ kèo chấp bóng đá hôm nay All-ASCII.
Đâ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 trong phần 3.2.
Trang web của Hiệp hội Unicode.
UTF-8 được xác định đây.