Hướng dẫn how do i change the encoding of a text in python? - làm cách nào để thay đổi mã hóa của một văn bản trong python?

6

Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.

Dữ liệu thực tế: ________ 7, ________ 8, ________ 9, ________ 10 (Có vẻ như trong MySQL DB) và khi tôi tìm nạp dữ liệu này, đây là cách mà trong biến Python (được lấy từ MySQL):

Khi tôi thử điều này;

truestr = unicode(str,'utf-8');

ném ngoại lệ với thông báo này:

codec 'ASCII' không thể giải mã byte 0xc4 ở vị trí 4: thứ tự không nằm trong phạm vi (128)

Làm thế nào tôi có thể khắc phục vấn đề này? (Tôi sử dụng Python 2.6)

Hướng dẫn how do i change the encoding of a text in python? - làm cách nào để thay đổi mã hóa của một văn bản trong python?

KGD

1.6462 huy hiệu vàng11 Huy hiệu bạc15 Huy hiệu đồng2 gold badges11 silver badges15 bronze badges

Đã hỏi ngày 22 tháng 10 năm 2015 lúc 6:11Oct 22, 2015 at 6:11

3

Bạn có thể kiểm tra mã hóa bằng phương pháp sau:

>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
>>> 

Nếu mã hóa là

>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
>>> 
5 thì hãy đặt thành
>>> import sys
>>> sys.getdefaultencoding()
'utf-8'
>>> 
6

  1. Mở tệp sau (tôi đang sử dụng Python 2.7):

    >>> import sys
    >>> sys.getdefaultencoding()
    'utf-8'
    >>> 
    
    7

  2. Sau đó cập nhật sau

    >>> import sys
    >>> sys.getdefaultencoding()
    'utf-8'
    >>> 
    
    6

    >>> import sys
    >>> sys.getdefaultencoding()
    'utf-8'
    >>> 
    
    9

[Chỉnh sửa 2]

Bạn có thể thêm sau trong mã tour (khi bắt đầu) và sau đó kiểm tra:-

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>

Đã trả lời ngày 22 tháng 10 năm 2015 lúc 6:26Oct 22, 2015 at 6:26

Vivek Sablevivek SableVivek Sable

9,5363 huy hiệu vàng36 Huy hiệu bạc51 Huy hiệu đồng3 gold badges36 silver badges51 bronze badges

4

Lỗi này có nghĩa là tin nhắn của bạn đã là một đối tượng

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
0, không cần giải mã.

Khi bạn đang làm:

truestr = unicode(string, 'utf-8')

Biến

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 của bạn trước tiên được chuyển đổi hoàn toàn thành loại
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 bằng cách sử dụng codec
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
3 mặc định. Và tất nhiên, nó thất bại vì chuỗi của bạn chứa các ký tự không phải ASCII.

Nếu bạn muốn viết

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 ở đâu đó dưới dạng UTF-8, hãy sử dụng
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
5.


Lưu ý: Tôi đã đổi tên biến

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 của bạn thành
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 vì tên xung đột với loại
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 tích hợp. Đặt tên biến
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 (hoặc
truestr = unicode(string, 'utf-8')
0 hoặc
truestr = unicode(string, 'utf-8')
1, v.v.) là một phong cách rất xấu.

Đã trả lời ngày 22 tháng 10 năm 2015 lúc 6:34Oct 22, 2015 at 6:34

2

Đi đến tệp này

vi /usr/lib/python2.7/site-packages/sitecustomize.py

Thêm văn bản này

import sys

reload(sys)

sys.setdefaultencoding("utf-8")

Vivek Sable

9,5363 huy hiệu vàng36 Huy hiệu bạc51 Huy hiệu đồng3 gold badges36 silver badges51 bronze badges

Lỗi này có nghĩa là tin nhắn của bạn đã là một đối tượng

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
0, không cần giải mã.Oct 22, 2015 at 12:31

Hướng dẫn how do i change the encoding of a text in python? - làm cách nào để thay đổi mã hóa của một văn bản trong python?

Khi bạn đang làm:Joseph

Biến

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 của bạn trước tiên được chuyển đổi hoàn toàn thành loại
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 bằng cách sử dụng codec
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
3 mặc định. Và tất nhiên, nó thất bại vì chuỗi của bạn chứa các ký tự không phải ASCII.1 silver badge5 bronze badges

2

Nếu bạn muốn viết

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 ở đâu đó dưới dạng UTF-8, hãy sử dụng
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
5."sys.setdefaultencoding" to switch it to utf-8 encoding. This function is only available on startup while python scans the environment. To use this function you have to reload sys after importing the module. Following is the code for you problem.

import sys
reload(sys)
sys.setdefaultencoding ("utf-8")

Edit:

Lưu ý: Tôi đã đổi tên biến

>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 của bạn thành
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
1 vì tên xung đột với loại
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 tích hợp. Đặt tên biến
>>> try:
...     import apport_python_hook
... except ImportError:
...     pass
... else:
...     apport_python_hook.install()
... 
>>> import sys
>>> 
>>> sys.setdefaultencoding("utf-8")
>>> 
>>>
2 (hoặc
truestr = unicode(string, 'utf-8')
0 hoặc
truestr = unicode(string, 'utf-8')
1, v.v.) là một phong cách rất xấu.

Đã trả lời ngày 22 tháng 10 năm 2015 lúc 6:34Oct 22, 2015 at 6:34

Hướng dẫn how do i change the encoding of a text in python? - làm cách nào để thay đổi mã hóa của một văn bản trong python?

4

Làm cách nào để thay đổi mã hóa một chuỗi trong Python?

Sử dụng phương thức String Encode (), bạn có thể chuyển đổi chuỗi Unicode thành bất kỳ mã hóa nào được hỗ trợ bởi Python., you can convert unicode strings into any encodings supported by Python.

Làm cách nào để thay đổi tệp văn bản thành UTF

UniversalAldetector Nhập UniverseLeTector TargetFormat = 'UTF-8' OutputDir = 'Đã chuyển đổi' DETLE = UniversAltetector () def get_encoding_type (current_file): máy dò. Đặt lại () cho dòng trong tệp (current_file): máy dò. Nguồn cấp dữ liệu (dòng) nếu phát hiện. Xong: Máy dò phá vỡ.

Làm cách nào để thay đổi mã hóa thành UTF

Làm thế nào để chuyển đổi một chuỗi thành UTF-8 trong Python ?..
String1 = "Apple" String2 = "preeti125" String3 = "12345" String4 = "pre@12".
sợi dây.mã hóa (mã hóa = 'UTF-8', lỗi = 'nghiêm ngặt').
# chuỗi unicode chuỗi = 'pythön!'# Mã hóa mặc định thành UTF-8 String_utf = String.Encode () in ('Phiên bản được mã hóa là:', String_utf).

Làm thế nào để bạn mã hóa văn bản trong Python?

Một phương thức đơn giản mã hóa chuỗi unicode thành tiêu chuẩn mã hóa UTF-8 ...
# Python accode () Ví dụ chức năng ..
# Sự định nghĩa biến..
str = "xin chào".
encode = str.encode ().
# Hiển thị kết quả ..
In ("Giá trị cũ", str).
In ("Giá trị được mã hóa", mã hóa).