Hỗ trợ bộ ký tự trongPostgreSQL11354_11544EUC |11580_11857PostgreSQLC |ụm cơ sở dữ liệu bằng cách sử dụnginitDB
. Nó có thể được ghi đè khi bạn tạo cơ sở dữ liệu, vì vậy bạn có thể có nhiều cơ sở dữ liệu với một bộ ký tự khác nhau.
Tuy nhiên, một hạn chế quan trọng là mỗi bộ ký tự của cơ sở dữ liệu phải tương thích với cơ sở dữ liệulc_ctype
(Phân loại ký tự) vàLC_Collate
(chuỗi sắp xếp) Cài đặt địa phương. VìC |
hoặcPOSIX
Locale, bất kỳ bộ ký tự nào cũng được cho phép, nhưng đối với các địa phương do LIBC | cung cấp khác, chỉ có một bộ ký tự sẽ hoạt động chính xác. .
Bảng 23.1Hiển thị các bộ ký tự có sẵn để sử dụng trongPostgreSQL.
Bảng 23.1.PostgreSQLBộ ký tự
tên | Mô tả | Ngôn ngữ | Máy chủ? | ICU? | byte/char | Bí danh |
---|---|---|---|---|---|---|
Big5 |
Big Five | Trung Quốc truyền thống | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-2 | Win950 , Windows950 |
EUC |_C |N |
Mã UNIX-C |N mở rộng | Trung Quốc đơn giản | Có | C |ó | 1-3 | |
EUC |_JP |
Code unix-jp mở rộng | Nhật Bản | C |ó | C |ó | 1-3 | |
EUC_JIS_2004 |
Code unix-jp mở rộng, JIS x 0213 | Nhật Bản | Có | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-3 | |
EUC |_KR |
Mở rộng Unix C |ode-Kr | | | | | C |ó | C |ó | 1-3 | |
EUC_TW |
Mở rộng UNIX C |ODE-TW | Trung Quốc truyền thống, Đài Loan | C |ó | Có | 1-3 | |
GB18030 |
Tiêu chuẩn quốc gia | Trung Quốc | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-4 | |
GBK |
Tiêu chuẩn quốc gia mở rộng | Trung Quốc đơn giản | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-2 | Win936 , Windows936 |
ISO_8859_5 |
ISO 8859-5,EC |MA 113 | Latin/C |yrillic | Có | C |ó | 1 | |
ISO_8859_6 |
ISO 8859-6,EC |MA 114 | Latin/tiếng Ả Rập | C |ó | Có | 1 | |
ISO_8859_7 |
ISO 8859-7,EC |MA 118 | Latin/Hy Lạp | Có | C |ó | 1 | |
ISO_8859_8 |
ISO 8859-8,ECMA 121 | Latin/tiếng Do Thái | C |ó | C |ó | 1 | |
Johab |
Johab | Hàn Quốc (Hangul) | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-3 | |
KOI8R |
KOI8-R | C |yrillic (tiếng Nga) | Có | Có | 1 | KOI8 |
KOI8U |
KOI8-U | C |yrillic (Ukraine) | Có | C |ó | 1 | |
Latin1 |
ISO 8859-1,EC |MA 94 | Tây Âu | C |ó | C |ó | 1 | ISO88591 |
Latin2 |
ISO 8859-2,EC |MA 94 | Trung Âu | C |ó | C |ó | 1 | ISO88592 |
Latin3 |
ISO 8859-3,EC |MA 94 | Nam Âu | C |ó | C |ó | 1 | ISO88593 |
Latin4 |
ISO 8859-4,EC |MA 94 | Bắc Âu | Có | C |ó | 1 | ISO88594 |
Latin5 |
ISO 8859-9,EC |MA 128 | Thổ Nhĩ Kỳ | Có | C |ó | 1 | ISO88599 |
Latin6 |
ISO 8859-10,ECMA 144 | Nordic | Có | C |ó | 1 | ISO885910 |
Latin7 |
ISO 8859-13 | Baltic | Có | C |ó | 1 | ISO885913 |
Latin8 |
ISO 8859-14 | Celtic | Có | C |ó | 1 | ISO885914 |
Latin9 |
ISO 8859-15 | Latin1 với Euro và Accent | C |ó | C |ó | 1 | ISO885915 |
Latin10 |
ISO 8859-16,ASROSR 14111 | 18514_18524 | C |ó | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1 | ISO885916 |
Mule_Internal |
Mã nội bộ Mule | Emacs đa ngôn ngữ | C |ó | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-4 | |
SJIS |
SHIFT JIS | Nhật Bản | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-2 | MSKANJI , ShiftJis , Win932 , Windows932 |
Shift_Jis_2004 |
SHIFT JIS, JIS X 0213 | Nhật Bản | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-2 | |
SQL_ASC |II |
tỷ lệ kèo bóng đá trực tuyến hôm nay xác định (xem văn bản) | any | Có | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1 | |
UHC | |
Mã Hangul thống nhất | Hàn Quốc | tỷ lệ kèo bóng đá trực tuyến hôm nay | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1-2 | Win949 , Windows949 |
UTF8 |
Unicode, 8-bit | tất cả | C |ó | C |ó | 1-4 | Unicode |
Win866 |
Windows C |P866 | Cyrillic | Có | C |ó | 1 | alt |
Win874 |
Windows C |P874 | Thái | C |ó | tỷ lệ kèo bóng đá trực tuyến hôm nay | 1 | |
Win1250 |
Windows C |P1250 | Trung Âu | C |ó | C |ó | 1 | |
Win1251 |
Windows CP1251 | C |yrillic | C |ó | C |ó | 1 | win |
Win1252 |
Windows CP1252 | Tây Âu | Có | C |ó | 1 | |
Win1253 |
Windows CP1253 | Hy Lạp | C |ó | C |ó | 1 | |
Win1254 |
Windows C |P1254 | Thổ Nhĩ Kỳ | C |ó | C |ó | 1 | |
Win1255 |
Windows CP1255 | Hê -bơ -rơ | Có | C |ó | 1 | |
Win1256 |
Windows C |P1256 | Ả Rập | C |ó | C |ó | 1 | |
Win1257 |
Windows C |P1257 | Baltic | C |ó | C |ó | 1 | |
Win1258 |
Windows C |P1258 | Việt Nam | Có | Có | 1 | ABC | , TCVN , TC |VN5712 , VSC |II |
tỷ lệ kèo bóng đá trực tuyến hôm nay phải tất cả máy kháchAPIS Hỗ trợ tất cả các bộ ký tự được liệt kê. Ví dụ:PostgreSQLTrình điều khiển JDBC tỷ lệ kèo bóng đá trực tuyến hôm nay hỗ trợMULE_INTERNAL
, Latin6
, Latin8
vàLatin10
.
TheSQL_ASC |II
C |ài đặt hoạt động khác biệt đáng kể so với các cài đặt khác. Khi bộ máy chủ được đặt làSQL_ASCII
, máy chủ diễn giải các giá trị byte 0-127 theo tiêu chuẩn ASCII, trong khi các giá trị byte 128-255 được lấy dưới dạng các ký tự tỷ lệ kèo bóng đá trực tuyến hôm nay được giải thích. tỷ lệ kèo bóng đá trực tuyến hôm nay có chuyển đổi mã hóa sẽ được thực hiện khi cài đặt làSQL_ASC |II
. Do đó, cài đặt này tỷ lệ kèo bóng đá trực tuyến hôm nay phải là một tuyên bố rằng một mã hóa cụ thể đang được sử dụng, như một tuyên bố thiếu hiểu biết về mã hóa.SQL_ASC |II
C |ài đặt vìPostgreSQLsẽ tỷ lệ kèo bóng đá trực tuyến hôm nay thể giúp bạn bằng cách chuyển đổi hoặc xác thực các ký tự tỷ lệ kèo bóng đá trực tuyến hôm nay phải ASCII.
initDB
Xác định bộ ký tự mặc định (mã hóa) cho APostgreSQLcụm. Ví dụ,
initDB -e euc_jp
Đặt ký tự mặc định được đặt thànhEUC_JP
(Mã Unix mở rộng cho tiếng Nhật). Bạn có thể sử dụng--Encoding
thay vì-e
Nếu bạn thích các chuỗi tùy chọn dài hơn. Nếu tỷ lệ kèo bóng đá trực tuyến hôm nay-e
hoặc---Encoding
Tùy chọn được đưa ra,initDB
cố gắng xác định mã hóa phù hợp để 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 tỷ lệ kèo bóng đá trực tuyến hôm nay mặc định tại thời gian tạo cơ sở dữ liệu, miễn là mã hóa tương thích với locale đã chọn:
23962_24050
Điều này sẽ tạo cơ sở dữ liệu có tên| | |
sử dụng bộ ký tựEUC |_KR
và 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:
24331_24446
Lưu ý rằng các lệnh trên chỉ định sao chépHlinnaka |
C |ơ sở dữ liệu. Khi sao chép bất kỳ cơ sở dữ liệu nào khác, cài đặt mã hóa và địa phương tỷ lệ kèo bóng đá trực tuyến hôm nay thể được thay đổi từ cơ sở dữ liệu nguồn, vì điều đó có thể dẫn đến dữ liệu bị hỏng.Phần 22.3.
Đối chiếu | cho cơ sở dữ liệu đượ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ụngPSQL
-L
Tùy chọn hoặc\ L
lệnh.
$PSQL -L
Danh sách cơ sở dữ liệu
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ởilc_ctype
Cài đặt và nó sẽ thực thi rằng chỉ sử dụng mã hóa cơ sở dữ liệu phù hợp. Trên các hệ thống cũ hơn, bạn có trách nhiệm đảm bảo rằng bạn sử dụng mã hóa được mong đợi bởi địa phương bạn đã chọn.
PostgreSQLsẽ cho phép Superusers tạo cơ sở dữ liệu vớiSQL_ASC |II
mã hóa ngay cả khilc_ctype
tỷ lệ kèo bóng đá trực tuyến hôm nay phảiC |
hoặcPOSIX
. Như đã lưu ý ở trên,SQL_ASCII
tỷ lệ kèo bóng đá trực tuyến hôm nay thực thi rằng dữ liệu được lưu trữ trong cơ sở dữ liệu có bất kỳ mã hóa cụ thể nào và do đó, 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 tỷ lệ kèo bóng đá trực tuyến hôm nay được chấp nhận và một ngày nào đó có thể bị cấm hoàn toàn.
PostgreSQLHỗ trợ chuyển đổi bộ ký tự tự động giữa máy chủ và máy khách cho các kết hợp bộ ký tự nhất định. Thông tin chuyển đổi được lưu trữ trongpg_conversion
Danh mục hệ thống.PostgreSQLđi kèm với một số chuyển đổi được xác định trước, như trongBảng 23.2. Bạn có thể tạo chuyển đổi mới bằng lệnh SQLTạo chuyển đổi
.
Bảng 23.2. Chuyển đổi bộ ký tự máy khách/máy chủ
Bộ ký tự máy chủ | Bộ ký tự máy khách có sẵn |
---|---|
Big5 |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
EUC |_C |N |
EUC_CN, Mule_Internal , UTF8 |
EUC |_JP |
EUC_JP, Mule_Internal , SJIS , Tiếng Nhật | | |
EUC |_JIS_2004 |
EUC |_JIS_2004, shift_jis_2004 , Tiếng Nhật | | |
EUC |_KR |
EUC |_KR, Mule_Internal , UTF8 |
EUC |_TW |
EUC_TW, Big5 , MULE_INTERNAL , UTF8 |
GB18030 |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
GBK |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
ISO_8859_5 |
ISO_8859_5, KOI8R , MULE_INTERNAL , Tiếng Nhật | | , Win866 , Win1251 |
ISO_8859_6 |
ISO_8859_6, UTF8 |
ISO_8859_7 |
ISO_8859_7, UTF8 |
ISO_8859_8 |
ISO_8859_8, Tiếng Nhật | | |
Johab |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
KOI8R |
KOI8R, ISO_8859_5 , MULE_INTERNAL , Tiếng Nhật | | , Win866 , Win1251 |
KOI8U |
KOI8U, UTF8 |
Latin1 |
Latin1, MULE_INTERNAL , UTF8 |
Latin2 |
Latin2, MULE_INTERNAL , UTF8 , Win1250 |
Latin3 |
Latin3, MULE_INTERNAL , Tiếng Nhật | | |
Latin4 |
Latin4, Mule_Internal , Tiếng Nhật | | |
Latin5 |
Latin5, Tiếng Nhật | | |
Latin6 |
Latin6, Tiếng Nhật | | |
Latin7 |
Latin7, Tiếng Nhật | | |
Latin8 |
Latin8, Tiếng Nhật | | |
Latin9 |
Latin9, Tiếng Nhật | | |
Latin10 |
Latin10, Tiếng Nhật | | |
Mule_Internal |
MULE_INTERNAL, Big5 , EUC |_C |N , EUC_JP , EUC |_KR , EUC |_TW , ISO_8859_5 , KOI8R , Latin1 đếnLatin4 , SJIS , Win866 , Win1250 , Win1251 |
SJIS |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
shift_jis_2004 |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
SQL_ASC |II |
Bất kỳ (tỷ lệ kèo bóng đá trực tuyến hôm nay có chuyển đổi nào được thực hiện) |
UHC | |
tỷ lệ kèo bóng đá trực tuyến hôm nay được hỗ trợ làm mã hóa máy chủ |
Tiếng Nhật | | |
Tất cả các mã hóa được hỗ trợ |
Win866 |
Win866, ISO_8859_5 , KOI8R , Mule_Internal , Tiếng Nhật | | , Win1251 |
Win874 |
Win874, Tiếng Nhật | | |
Win1250 |
Win1250, Latin2 , Mule_Internal , UTF8 |
Win1251 |
Win1251, ISO_8859_5 , KOI8R , MULE_INTERNAL , Tiếng Nhật | | , Win866 |
Win1252 |
Win1252, Tiếng Nhật | | |
Win1253 |
Win1253, Tiếng Nhật | | |
Win1254 |
Win1254, Tiếng Nhật | | |
Win1255 |
Win1255, Tiếng Nhật | | |
Win1256 |
Win1256, Tiếng Nhật | | |
Win1257 |
Win1257, Tiếng Nhật | | |
Win1258 |
Win1258, Tiếng Nhật | | |
Để bật chuyển đổi bộ ký tự tự động, bạn phải nóiPostgreSQLBộ ký tự (mã hóa) bạn muốn sử dụng trong máy khách. C |ó một số cách để thực hiện điều này:
Sử dụng\ mã hóa
Lệnh trongPSQL. \ mã hóa
C |ho phép bạn thay đổi mã hóa máy khách khi đang bay. Ví dụ: để thay đổi mã hóa thànhSJIS
, loại:
\ mã hóa SJIS
libpq(Phần 33.10) có các chức năng để kiểm soát mã hóa máy khách.
Sử dụngđặt client_encoding thành
. Đặt mã hóa máy khách có thể được thực hiện với lệnh SQL này:
đặ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ên
cho mục đích này:
Đặt tên 'giá trị
';
Để truy vấn mã hóa máy 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ườngpgclientencoding
được xác định trong môi trường của khách hà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 sau đó có thể được ghi đè bằng bất kỳ phương thức nào khác được đề cập ở trên.)
Sử dụng biến cấu hìnhclient_encoding. Nếuclient_encoding
Biến được đặt, mã hóa máy khách đó được tự động chọn khi kết nối với máy chủ được thực hiện. (Điều này sau đó có thể được ghi đè bằng bất kỳ phương thức nào khác được đề cập ở trên.)
Nếu tỷ lệ kèo bóng đá trực tuyến hôm nay thể chuyển đổi một ký tự cụ thể - giả sử bạn đã chọnEUC_JP
cho máy chủ vàLatin1
Đối với máy khách và một số ký tự Nhật Bản được trả về tỷ lệ kèo bóng đá trực tuyến hôm nay có đại diện trongLatin1
- Một lỗi được báo cáo.
Nếu bộ ký tự máy khách được xác định làSQL_ASCII
, C |huyển đổi mã hóa bị vô hiệu hóa, bất kể bộ ký tự của máy chủ. Giống như đối với máy chủ, sử dụngSQL_ASCII
tỷ lệ kèo bóng đá trực tuyến hôm nay khôn ngoan trừ khi bạn đang làm việc với dữ liệu All-ASC |II.
Đây là những nguồn tốt để bắt đầu tìm hiểu về các loại hệ thống mã hóa khác nhau.
C |hứa các giải thích chi tiết vềEUC_JP
, EUC |_C |N
, EUC_KR
, EUC_TW
.
Trang web của Hiệp hội Unicode.
UTF-8 (định dạng chuyển đổi UC |S/UNIC |ode 8 bit) được xác định ở đây.