Hướng dẫn python set locale to utf-8 - python đặt ngôn ngữ thành utf-8

Tôi đã phải vật lộn trong khi cài đặt Odoo 11 (phiên bản cộng đồng) trên Docker (Ubuntu 16.04),

Lỗi tôi đang nhận được -

UnicodedEcodeError: codec ASCII có thể giải mã byte 0xc2 ở vị trí 29: thứ tự không trong phạm vi (128)

Không chỉ điều này, & nbsp; lệnh python in & nbsp; lệnh chấm dứt khi cố gắng in các ký tự unicode:print command terminates when trying to print Unicode characters:

UnicodeEncodeError: ‘ASCII, codec có thể mã hóa các ký tự

Tôi thấy rằng Python 3 sử dụng unicode ở mọi nơi, điều này khiến việc sử dụng trong một môi trường tuyên bố không hỗ trợ Unicode, chẳng hạn như những hình ảnh Docker này. Sự cố này có thể dễ dàng khắc phục bằng cách thiết lập mã hóa Locale mặc định của hệ thống thành UTF-8, như:

Bắt đầu thương mại điện tử không đầu của bạn ngay bây giờ. Đọc thêm
now.
Read More

Vấn đề: Nhấn lệnh ‘Locale, và kiểm tra đầu ra:: Hit command ‘locale’ , and check the output:

LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=

Giải pháp: Thực hiện trực tiếp các lệnh này:
Directly execute these commands:

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8

Hoặc, thêm các dòng này vào Dockerfile của bạn:

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8

Bây giờ, nhấn lệnh ‘locale, và kiểm tra đầu ra:

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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

Đó là nó, cảm ơn vì đã đọc blog này & nbsp; !!!
Thanks for reading this blog !!!

Ý kiến, ý kiến ​​và đề xuất của bạn rất quan trọng để giữ cho phần mở rộng này được cập nhật và hữu ích hơn !!!

Mã nguồn: lib/locale.py Lib/locale.py


Mô -đun locale mở quyền truy cập vào cơ sở dữ liệu và chức năng địa phương POSIX. Cơ chế địa phương POSIX cho phép các lập trình viên đối phó với một số vấn đề văn hóa trong một ứng dụng, mà không yêu cầu lập trình viên biết tất cả các chi tiết cụ thể của mỗi quốc gia nơi phần mềm được thực thi.

Mô -đun locale được triển khai trên đầu mô -đun _locale, từ đó sử dụng triển khai local ANSI C nếu có.

Mô -đun locale xác định ngoại lệ và chức năng sau:

ExceptionLocale.error¶locale.Error

Ngoại lệ được nâng lên khi địa phương được chuyển đến

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 không được công nhận.

Locale.setLocale (danh mục, locale = none) ¶setlocale(category, locale=None)

Nếu Locale được đưa ra và không

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 sẽ sửa đổi cài đặt Locale cho danh mục. Các danh mục có sẵn được liệt kê trong mô tả dữ liệu dưới đây. Locale có thể là một chuỗi, hoặc có thể lặp lại hai chuỗi (mã ngôn ngữ và mã hóa). Nếu nó có một sự khác biệt, thì nó đã chuyển đổi thành một tên địa phương bằng cách sử dụng động cơ bí danh địa phương. Một chuỗi trống chỉ định cài đặt mặc định của người dùng. Nếu việc sửa đổi địa phương thất bại, ngoại lệ
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
4 sẽ được nâng lên. Nếu thành công, cài đặt địa phương mới được trả về.

Nếu Locale bị bỏ qua hoặc

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2, cài đặt hiện tại cho danh mục được trả về.

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 không an toàn cho hầu hết các hệ thống. Các ứng dụng thường bắt đầu bằng một cuộc gọi

import locale
locale.setlocale(locale.LC_ALL, '')

Điều này đặt locale cho tất cả các danh mục thành cài đặt mặc định của người dùng (thường được chỉ định trong biến môi trường

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7). Nếu địa điểm không thay đổi sau đó, việc sử dụng đa luồng sẽ không gây ra vấn đề.
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7 environment variable). If the locale is not changed thereafter, using multithreading should not cause problems.

Locale.localeconv () ¶localeconv()

Trả về cơ sở dữ liệu của các quy ước địa phương như một từ điển. Từ điển này có các chuỗi sau làm khóa:

Loại

Chìa khóa

Nghĩa

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
9

Ký tự điểm thập phân.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
0

Trình tự các số chỉ định vị trí tương đối mà

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
1 dự kiến. Nếu chuỗi bị chấm dứt với
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
2, không có nhóm nào được thực hiện thêm. Nếu chuỗi chấm dứt với
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
3, kích thước nhóm cuối cùng được sử dụng nhiều lần.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
1

Nhân vật được sử dụng giữa các nhóm.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
5

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
6

Biểu tượng tiền tệ quốc tế.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
7

Biểu tượng nội tệ.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
8

Liệu ký hiệu tiền tệ có đi trước giá trị (đối với các giá trị âm dương tích cực).

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
9

Cho dù ký hiệu tiền tệ được tách ra khỏi giá trị bằng một không gian (cho các giá trị âm dương tích cực).

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
0

Điểm thập phân được sử dụng cho các giá trị tiền tệ.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
1

Số lượng các chữ số phân số được sử dụng trong định dạng cục bộ của các giá trị tiền tệ.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
2

Số lượng các chữ số phân số được sử dụng trong định dạng quốc tế của các giá trị tiền tệ.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
3

Phân tách nhóm được sử dụng cho các giá trị tiền tệ.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
4

Tương đương với

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
0, được sử dụng cho các giá trị tiền tệ.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
6

Biểu tượng được sử dụng để chú thích giá trị tiền tệ tích cực.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
7

Biểu tượng được sử dụng để chú thích giá trị tiền tệ âm.

LANG=en_US.UTF-8
LANGUAGE=en_US.en
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
8

Vị trí của dấu hiệu (cho các giá trị tiêu cực tích cực), xem bên dưới.

Tất cả các giá trị số có thể được đặt thành

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
2 để chỉ ra rằng không có giá trị được chỉ định trong ngôn ngữ này.

Các giá trị có thể cho

0 và 
1 được đưa ra dưới đây.

Giá trị

Giải trình

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
3

Tiền tệ và giá trị được bao quanh bởi dấu ngoặc đơn.

3

Dấu hiệu sẽ đi trước giá trị và ký hiệu tiền tệ.

4

Dấu hiệu nên theo biểu tượng giá trị và tiền tệ.

5

Dấu hiệu phải ngay trước giá trị.

6

Dấu hiệu nên ngay lập tức làm theo giá trị.

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
2

Không có gì được chỉ định trong địa phương này.

Hàm đặt tạm thời địa phương

8 cho địa phương 
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8 hoặc địa phương
# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
5 nếu các địa phương là khác nhau và các chuỗi tiền tệ hoặc tiền tệ là không ASCII. Thay đổi tạm thời này ảnh hưởng đến các chủ đề khác.

Đã thay đổi trong phiên bản 3.7: Hàm hiện đặt tạm thời địa phương

8 thành ngôn ngữ 
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8 trong một số trường hợp.The function now sets temporarily the
8 locale to the 
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8 locale in some cases.

Locale.nl_langinfo (tùy chọn) ¶nl_langinfo(option)

Trả về một số thông tin cụ thể địa phương dưới dạng chuỗi. Hàm này không có sẵn trên tất cả các hệ thống và tập hợp các tùy chọn có thể cũng có thể thay đổi giữa các nền tảng. Các giá trị đối số có thể là các số, trong đó các hằng số biểu tượng có sẵn trong mô -đun địa phương.

Hàm

import locale
locale.setlocale(locale.LC_ALL, '')
3 chấp nhận một trong các khóa sau. Hầu hết các mô tả được lấy từ mô tả tương ứng trong thư viện GNU C.

Locale.Codeset¶CODESET

Nhận một chuỗi có tên của mã hóa ký tự được sử dụng trong ngôn ngữ đã chọn.

Locale.D_T_FMT¶D_T_FMT

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn ngày và thời gian theo cách cụ thể của ngôn ngữ.

Locale.D_FMT¶D_FMT

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn một ngày theo cách cụ thể của ngôn ngữ.

Locale.T_FMT¶T_FMT

Nhận một chuỗi có thể được sử dụng làm chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn một thời gian theo cách cụ thể của ngôn ngữ.

Locale.T_FMT_AMPM¶T_FMT_AMPM

Nhận một chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn thời gian ở định dạng AM/pm.

DAY_1...DAY_7 ... DAY_7

Lấy tên của ngày thứ n trong tuần.

Ghi chú

Điều này theo Công ước Hoa Kỳ về

import locale
locale.setlocale(locale.LC_ALL, '')
8 là Chủ nhật, chứ không phải Công ước quốc tế (ISO 8601) rằng thứ Hai là ngày đầu tiên của tuần.

ABDAY_1...ABDAY_7 ... ABDAY_7

Nhận tên viết tắt của ngày thứ n trong tuần.

MON_1...MON_12 ... MON_12

Lấy tên của tháng n.

ABMON_1...ABMON_12 ... ABMON_12

Nhận tên viết tắt của tháng n.

Locale.Radixchar¶RADIXCHAR

Nhận ký tự radix (dấu chấm thập phân, dấu phẩy thập phân, v.v.).

Locale.ThouseP¶THOUSEP

Nhận ký tự phân tách cho hàng ngàn (nhóm ba chữ số).

Locale.yesexpr¶YESEXPR

Nhận một biểu thức thông thường có thể được sử dụng với hàm regex để nhận ra phản hồi tích cực cho câu hỏi có/không.

Ghi chú

Biểu thức nằm trong cú pháp phù hợp với hàm

import locale
locale.setlocale(locale.LC_ALL, '')
9 từ thư viện C, có thể khác với cú pháp được sử dụng trong
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
0.

Locale.NoExpr¶NOEXPR

Nhận một biểu thức thông thường có thể được sử dụng với hàm regex (3) để nhận ra phản hồi tiêu cực đối với câu hỏi có/không.

Locale.crncystr¶CRNCYSTR

Nhận biểu tượng tiền tệ, trước đó là--nếu biểu tượng sẽ xuất hiện trước giá trị, thì++nếu biểu tượng sẽ xuất hiện sau giá trị, hoặc. Nếu biểu tượng nên thay thế ký tự radix.

Locale.era¶ERA

Nhận một chuỗi đại diện cho ERA được sử dụng trong ngôn ngữ hiện tại.

Hầu hết các địa phương không xác định giá trị này. Một ví dụ về một địa điểm xác định giá trị này là giá trị Nhật Bản. Tại Nhật Bản, đại diện truyền thống của ngày bao gồm tên của thời đại tương ứng với triều đại của hoàng đế.

Thông thường không cần thiết phải sử dụng giá trị này trực tiếp. Chỉ định công cụ sửa đổi

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
1 trong các chuỗi định dạng của chúng khiến hàm
import locale
locale.setlocale(locale.LC_ALL, '')
4 sử dụng thông tin này. Định dạng của chuỗi được trả về không được chỉ định và do đó bạn không nên cho rằng kiến ​​thức về nó trên các hệ thống khác nhau.

Locale.era_d_t_fmt¶ERA_D_T_FMT

Nhận một chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn ngày và thời gian theo cách dựa trên thời đại địa phương.

Locale.era_d_fmt¶ERA_D_FMT

Nhận một chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để biểu diễn một ngày theo cách dựa trên thời đại địa phương.

Locale.era_t_fmt¶ERA_T_FMT

Nhận một chuỗi định dạng cho

import locale
locale.setlocale(locale.LC_ALL, '')
4 để thể hiện thời gian theo cách dựa trên thời đại địa phương.

Locale.alt_digits¶ALT_DIGITS

Nhận biểu diễn tối đa 100 giá trị được sử dụng để biểu diễn các giá trị 0 đến 99.

Locale.GetDefaultLocale ([Envvars]) ¶getdefaultlocale([envvars])

Cố gắng xác định cài đặt địa phương mặc định và trả về chúng dưới dạng hình thức của mẫu

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
6.

Theo Posix, một chương trình không được gọi là

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
7 chạy bằng địa phương
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
8 di động. Gọi
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
7 cho phép nó sử dụng ngôn ngữ mặc định như được xác định bởi biến
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7. Vì chúng tôi không muốn can thiệp vào cài đặt địa phương hiện tại, do đó, chúng tôi mô phỏng hành vi theo cách được mô tả ở trên.
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7 variable. Since we do not want to interfere with the current locale setting we thus emulate the behavior in the way described above.

Để duy trì khả năng tương thích với các nền tảng khác, không chỉ biến

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7 được kiểm tra, mà một danh sách các biến được đưa ra dưới dạng tham số Envvars. Đầu tiên được tìm thấy được xác định sẽ được sử dụng. Envvars mặc định cho đường dẫn tìm kiếm được sử dụng trong GNU getText; Nó phải luôn chứa tên biến locale2. Đường dẫn tìm kiếm GNU GetText chứa locale3, locale4, locale2 và locale6, theo thứ tự đó.
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
7 variable is tested, but a list of variables given as envvars parameter. The first found to be defined will be used. envvars defaults to the search path used in GNU gettext; it must always contain the variable name locale2. The GNU gettext search path contains locale3, locale4, locale2 and locale6, in that order.

Ngoại trừ mã

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
8, mã ngôn ngữ tương ứng với RFC 1766. Mã ngôn ngữ và mã hóa có thể là
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2 nếu giá trị của chúng không thể được xác định.RFC 1766. language code and encoding may be
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2 if their values cannot be determined.

Không dùng nữa kể từ phiên bản 3.11, sẽ bị xóa trong phiên bản 3.13.

Locale.getLocale (Thể loại = LC_CTYPE) ¶getlocale(category=LC_CTYPE)

Trả về cài đặt hiện tại cho danh mục Locale đã cho là chuỗi chứa mã ngôn ngữ, mã hóa. Danh mục có thể là một trong các giá trị locale9 ngoại trừ locale0. Nó mặc định là

8.

Ngoại trừ mã

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
8, mã ngôn ngữ tương ứng với RFC 1766. Mã ngôn ngữ và mã hóa có thể là
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2 nếu giá trị của chúng không thể được xác định.RFC 1766. language code and encoding may be
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
2 if their values cannot be determined.

Không dùng nữa kể từ phiên bản 3.11, sẽ bị xóa trong phiên bản 3.13.getpreferredencoding(do_setlocale=True)

Locale.getLocale (Thể loại = LC_CTYPE) ¶locale encoding used for text data, according to user preferences. User preferences are expressed differently on different systems, and might not be available programmatically on some systems, so this function only returns a guess.

Trả về cài đặt hiện tại cho danh mục Locale đã cho là chuỗi chứa mã ngôn ngữ, mã hóa. Danh mục có thể là một trong các giá trị locale9 ngoại trừ locale0. Nó mặc định là

8.

locale.getpreferredencoding (do_setlocale = true) ¶Python UTF-8 Mode is enabled, always return locale6, the locale encoding and the do_setlocale argument are ignored.

Trả về mã hóa Locale được sử dụng cho dữ liệu văn bản, theo sở thích của người dùng. Tùy chọn người dùng được thể hiện khác nhau trên các hệ thống khác nhau và có thể không có sẵn lập trình trên một số hệ thống, vì vậy chức năng này chỉ trả về dự đoán.Python preinitialization configures the LC_CTYPE locale. See also the filesystem encoding and error handler.

Trên một số hệ thống, cần phải gọi

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 để có được tùy chọn người dùng, vì vậy chức năng này không an toàn cho luồng. Nếu việc gọi setlocale là không cần thiết hoặc mong muốn, nên do_setlocale nên được đặt thành locale5.The function now always returns locale7 on Android or if the Python UTF-8 Mode is enabled.

Trên Android hoặc nếu chế độ Python UTF-8 được bật, luôn luôn trả về locale6, mã hóa locale và đối số DO_SetLocale bị bỏ qua.getencoding()

Các tiền đề Python định cấu hình địa phương LC_CTYPE. Xem thêm mã hóa hệ thống tập tin và xử lý lỗi.locale encoding:

  • Đã thay đổi trong phiên bản 3.7: Hàm bây giờ luôn trả về locale7 trên Android hoặc nếu chế độ Python UTF-8 được bật.

  • locale.getencoding () ¶

  • Trên Windows, trả lại trang mã ANSI.

Các tiền đề Python định cấu hình địa phương LC_CTYPE. Xem thêm mã hóa hệ thống tập tin và xử lý lỗi.Python preinitialization configures the LC_CTYPE locale. See also the filesystem encoding and error handler.

Hàm này tương tự như _locale2 ngoại trừ hàm này bỏ qua chế độ UTF-8 Python.Python UTF-8 Mode.

Mới trong phiên bản 3.11.

Locale.Normalize (LocalEname) ¶normalize(localename)

Trả về một mã địa phương được chuẩn hóa cho tên địa phương đã cho. Mã địa phương được trả lại được định dạng để sử dụng với

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1. Nếu chuẩn hóa thất bại, tên ban đầu được trả về không thay đổi.

Nếu mã hóa đã cho không được biết, hàm mặc định là mã hóa mặc định cho mã locale giống như

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1.

Locale.ResetLocale (Thể loại = LC_ALL) ¶resetlocale(category=LC_ALL)

Đặt Locale cho danh mục thành cài đặt mặc định.

Cài đặt mặc định được xác định bằng cách gọi _locale5. Danh mục mặc định là locale0.

Không dùng nữa kể từ phiên bản 3.11, sẽ bị xóa trong phiên bản 3.13.

Locale.strcoll (String1, String2) ¶strcoll(string1, string2)

So sánh hai chuỗi theo cài đặt _locale7 hiện tại. Như bất kỳ hàm so sánh nào khác, trả về một giá trị âm hoặc giá trị dương hoặc

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
3, tùy thuộc vào việc String1 đối chiếu trước hay sau chuỗi2 hay bằng với nó.

Locale.strxfrm (Chuỗi) ¶strxfrm(string)

Chuyển đổi một chuỗi thành một chuỗi có thể được sử dụng trong các so sánh nhận biết địa phương. Ví dụ, _locale9 tương đương với

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
00. Hàm này có thể được sử dụng khi cùng một chuỗi được so sánh nhiều lần, ví dụ: Khi đối chiếu một chuỗi các chuỗi.

locale.format_string (định dạng, val, nhóm = false, tiền tệ = false) ¶format_string(format, val, grouping=False, monetary=False)

Định dạng một số Val theo cài đặt

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8 hiện tại. Định dạng tuân theo các quy ước của toán tử
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
02. Đối với các giá trị điểm nổi, điểm thập phân được sửa đổi nếu thích hợp. Nếu nhóm là đúng, cũng tính đến nhóm.

Nếu tiền tệ là đúng, việc chuyển đổi sử dụng các chuỗi hàng ngàn tiền tệ và chuỗi nhóm.

Các quy trình định dạng các nhà xác định như trong

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
03, nhưng tính đến các cài đặt địa phương hiện tại.

Thay đổi trong phiên bản 3.7: Tham số từ khóa tiền tệ đã được thêm vào.The monetary keyword parameter was added.

locale.format (định dạng, val, nhóm = false, tiền tệ = false) ¶format(format, val, grouping=False, monetary=False)

Xin lưu ý rằng chức năng này hoạt động như

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
04 nhưng sẽ chỉ hoạt động cho chính xác một nhà xác định
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
05. Ví dụ,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
06 và
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
07 đều là các nhà xác định hợp lệ, nhưng
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
08 thì không.

Đối với toàn bộ chuỗi định dạng, sử dụng

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
04.

Locale.Currency (Val, Symbol = true, nhóm = false, international = false) ¶currency(val, symbol=True, grouping=False, international=False)

Định dạng một số Val theo cài đặt

# Set the locale
RUN locale-gen en_US.UTF-8
ENV LANG en_US.UTF-8
ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
5 hiện tại.

Chuỗi được trả về bao gồm ký hiệu tiền tệ nếu biểu tượng là đúng, đó là mặc định. Nếu nhóm là đúng (không phải là mặc định), nhóm được thực hiện với giá trị. Nếu quốc tế là đúng (không phải là mặc định), biểu tượng tiền tệ quốc tế được sử dụng.

Lưu ý rằng chức năng này sẽ không hoạt động với ngôn ngữ ‘C, vì vậy bạn phải đặt một ngôn ngữ qua

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 trước.

Locale.str (Float) ¶str(float)

Các định dạng một số điểm nổi sử dụng cùng định dạng với hàm tích hợp

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
12, nhưng tính đến điểm thập phân.

locale.delocalize (chuỗi) ¶delocalize(string)

Chuyển đổi một chuỗi thành một chuỗi số được chuẩn hóa, theo cài đặt

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8.

Mới trong phiên bản 3.5.

locale.locize (chuỗi, nhóm = false, tiền tệ = false) ¶localize(string, grouping=False, monetary=False)

Chuyển đổi một chuỗi số được chuẩn hóa thành một chuỗi được định dạng theo cài đặt

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8.

Mới trong phiên bản 3.10.

Locale.atof (String, func = float) ¶atof(string, func=float)

Chuyển đổi một chuỗi thành một số, theo cài đặt

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8, bằng cách gọi func về kết quả gọi
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
16 trên chuỗi.

Locale.atoi (Chuỗi) ¶atoi(string)

Chuyển đổi một chuỗi thành một số nguyên, theo các quy ước

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
8.

Locale.lc_ctype¶LC_CTYPE

Danh mục địa phương cho các hàm loại ký tự. Tùy thuộc vào cài đặt của danh mục này, các chức năng của mô -đun

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
18 xử lý trường hợp thay đổi hành vi của chúng.

Locale.lc_collate¶LC_COLLATE

Thể loại địa phương để phân loại chuỗi. Các chức năng

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
19 và
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
20 của mô -đun locale bị ảnh hưởng.

Locale.lc_time¶LC_TIME

Thể loại địa phương cho định dạng thời gian. Hàm

import locale
locale.setlocale(locale.LC_ALL, '')
4 tuân theo các quy ước này.

Locale.lc_monetary¶LC_MONETARY

Thể loại địa phương để định dạng các giá trị tiền tệ. Các tùy chọn có sẵn có sẵn từ chức năng

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
23.

Locale.LC_Messages¶LC_MESSAGES

Danh mục địa phương cho hiển thị tin nhắn. Python hiện không hỗ trợ các tin nhắn nhận biết địa phương cụ thể của ứng dụng. Các tin nhắn được hiển thị bởi hệ điều hành, giống như các tin nhắn được trả về bởi

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
24 có thể bị ảnh hưởng bởi danh mục này.

Locale.lc_numeric¶LC_NUMERIC

Danh mục địa phương để định dạng số. Các hàm

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
25,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
26,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
27 và
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
28 của mô -đun locale bị ảnh hưởng bởi danh mục đó. Tất cả các hoạt động định dạng số khác không bị ảnh hưởng.

Locale.lc_all¶LC_ALL

Kết hợp tất cả các cài đặt địa phương. Nếu cờ này được sử dụng khi địa điểm được thay đổi, hãy đặt địa điểm cho tất cả các danh mục được thử. Nếu điều đó thất bại cho bất kỳ danh mục nào, không có danh mục nào được thay đổi. Khi ngôn ngữ được truy xuất bằng cờ này, một chuỗi chỉ ra cài đặt cho tất cả các danh mục được trả về. Chuỗi này sau đó có thể được sử dụng để khôi phục cài đặt.

Locale.char_max¶CHAR_MAX

Đây là một hằng số tượng trưng được sử dụng cho các giá trị khác nhau được trả về bởi

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
23.

Example:

>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale

Bối cảnh, chi tiết, gợi ý, lời khuyên và cảnh báo

Tiêu chuẩn C định nghĩa Locale là một thuộc tính toàn chương trình có thể tương đối tốn kém để thay đổi. Trên hết, một số triển khai bị phá vỡ theo cách mà các thay đổi địa phương thường xuyên có thể gây ra các bãi rác lõi. Điều này làm cho địa điểm hơi đau đớn khi sử dụng chính xác.

Ban đầu, khi một chương trình được bắt đầu, ngôn ngữ là địa phương

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
31, bất kể người dùng ưa thích là địa phương là gì. Có một ngoại lệ: danh mục
8 được thay đổi khi khởi động để đặt mã hóa ngôn ngữ hiện tại cho mã hóa ngôn ngữ ưa thích của người dùng. Chương trình phải nói rõ ràng rằng nó muốn cài đặt địa phương ưa thích của người dùng cho các danh mục khác bằng cách gọi 
>>> import locale
>>> loc = locale.getlocale()  # get current locale
# use German locale; name might vary with platform
>>> locale.setlocale(locale.LC_ALL, 'de_DE')
>>> locale.strcoll('f\xe4n', 'foo')  # compare a string containing an umlaut
>>> locale.setlocale(locale.LC_ALL, '')   # use user's preferred locale
>>> locale.setlocale(locale.LC_ALL, 'C')  # use default (C) locale
>>> locale.setlocale(locale.LC_ALL, loc)  # restore saved locale
7.

Nói chung là một ý tưởng tồi để gọi

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1 trong một số thói quen thư viện, vì là một tác dụng phụ, nó ảnh hưởng đến toàn bộ chương trình. Tiết kiệm và khôi phục nó gần như xấu: nó đắt tiền và ảnh hưởng đến các chủ đề khác xảy ra trước khi cài đặt đã được khôi phục.

Nếu, khi mã hóa một mô -đun để sử dụng chung, bạn cần một phiên bản độc lập địa phương của một hoạt động bị ảnh hưởng bởi locale (chẳng hạn như các định dạng nhất định được sử dụng với

import locale
locale.setlocale(locale.LC_ALL, '')
4), bạn sẽ phải tìm cách thực hiện mà không cần sử dụng thư viện tiêu chuẩn lịch trình. Thậm chí tốt hơn là thuyết phục bản thân rằng sử dụng cài đặt địa phương là ổn. Chỉ như là phương sách cuối cùng, bạn mới ghi nhận rằng mô-đun của bạn không tương thích với các cài đặt địa phương không phải là -____ 131.

Cách duy nhất để thực hiện các hoạt động số theo ngôn ngữ là sử dụng các hàm đặc biệt được xác định bởi mô -đun này:

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
27,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
26,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
25,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
28.

Không có cách nào để thực hiện chuyển đổi trường hợp và phân loại ký tự theo địa phương. Đối với các chuỗi văn bản (unicode), chúng chỉ được thực hiện theo giá trị ký tự, trong khi đối với chuỗi byte, các chuyển đổi và phân loại được thực hiện theo giá trị ASCII của byte và byte có bit cao được đặt (tức là, không ) không bao giờ được chuyển đổi hoặc được coi là một phần của một lớp ký tự như chữ cái hoặc khoảng trắng.

Cho các nhà văn và chương trình mở rộng nhúng Python¶

Các mô -đun mở rộng không bao giờ nên gọi

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
1, ngoại trừ để tìm hiểu địa phương hiện tại là gì. Nhưng vì giá trị trả lại chỉ có thể được sử dụng một cách xác định để khôi phục nó, điều đó không hữu ích lắm (ngoại trừ có lẽ để tìm hiểu xem địa phương có phải là
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
31).

Khi mã Python sử dụng mô -đun locale để thay đổi ngôn ngữ, điều này cũng ảnh hưởng đến ứng dụng nhúng. Nếu ứng dụng nhúng không muốn điều này xảy ra, nó sẽ xóa mô-đun tiện ích mở rộng ____9 (thực hiện tất cả các công việc) khỏi bảng các mô-đun tích hợp trong tệp

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
45 và đảm bảo rằng mô-đun _locale không thể truy cập được một thư viện được chia sẻ.

Truy cập vào Danh mục Tin nhắn

locale.gettext (msg) ¶ Locale.DgetText (tên miền, tin nhắn) ¶ Locale.DcgetText (tên miền, tin nhắn, danh mục) ¶ Locale.TextDomain (miền)gettext(msg)locale.dgettext(domain, msg)locale.dcgettext(domain, msg, category)locale.textdomain(domain)locale.bindtextdomain(domain, dir)

Mô -đun Locale hiển thị giao diện GetText thư viện C trên các hệ thống cung cấp giao diện này. Nó bao gồm các chức năng

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
47,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
48,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
49,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
50,
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
51 và
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
52. Chúng tương tự như các chức năng tương tự trong mô -đun
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
53, nhưng sử dụng định dạng nhị phân của thư viện C cho các danh mục tin nhắn và các thuật toán tìm kiếm thư viện C để định vị các danh mục tin nhắn.

Các ứng dụng Python thường không cần phải gọi các chức năng này và nên sử dụng

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
53 thay thế. Một ngoại lệ đã biết đối với quy tắc này là các ứng dụng liên kết với các thư viện C bổ sung để gọi nội bộ
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
47 hoặc
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8 LANGUAGE=en_US.en LC_ALL=en_US.UTF-8
49. Đối với các ứng dụng này, có thể cần phải liên kết miền văn bản, để các thư viện có thể định vị đúng danh mục tin nhắn của họ.

Làm cách nào để thay đổi mã hóa địa phương của tôi?

Bảng điều khiển -> Đồng hồ và Vùng -> Vùng -> Hành chính -> Thay đổi hệ thống Locale -> Kiểm tra Beta: Sử dụng Unicode UTF -8 ... Sau đó và khởi động lại, tôi đã xác nhận địa phương đó. ... After this, and a reboot, I confirmed that locale.

Làm cách nào để thay đổi địa điểm trong Python?

Cách phổ biến nhất để cho phép người dùng thay đổi cài đặt ngôn ngữ cho một ứng dụng là thông qua biến môi trường (LC_ALL, LC_CTYPE, LANG hoặc ngôn ngữ, tùy thuộc vào nền tảng).Sau đó, ứng dụng gọi setLocale () không có giá trị mã hóa cứng và giá trị môi trường được sử dụng.through an environment variable ( LC_ALL , LC_CTYPE , LANG , or LANGUAGE , depending on the platform). The application then calls setlocale() without a hard-coded value, and the environment value is used.

Locale UTF8 là gì?

En_us.Địa điểm UTF-8 là một địa phương Unicode quan trọng trong sản phẩm Solaris 8.Nó hỗ trợ và cung cấp khả năng xử lý multiscript bằng cách sử dụng UTF-8 làm mã của nó.Nó có thể nhập và đầu ra văn bản trong nhiều tập lệnh.Đây là địa điểm đầu tiên có khả năng này trong môi trường vận hành Solaris.a significant Unicode locale in the Solaris 8 product. It supports and provides multiscript processing capability by using UTF-8 as its codeset. It can input and output text in multiple scripts. This was the first locale with this capability in the Solaris operating environment.

Thư viện địa phương trong Python là gì?

Mô -đun địa phương của Python là một phần của thư viện tiêu chuẩn để quốc tế hóa (I18N) và bản địa hóa (L10N) trong Python.Mô -đun địa phương cho phép các nhà phát triển đối phó với một số vấn đề văn hóa trong các ứng dụng của họ.part of the standard library for internationalization (i18n) and localization (l10n) in Python. The locale module allows developers to deal with certain cultural issues in their applications.