Tôi đang làm việc thông qua dự án đọc RSS Django here.Mã hóa cho codec "ascii 'không thể mã hóa ký tự ... thứ tự không nằm trong phạm vi (128)"
Nguồn cấp dữ liệu RSS sẽ đọc nội dung như "OKLAHOMA CITY (AP) - James Harden cho phép". Mã hóa của nguồn cấp dữ liệu RSS đọc mã hóa = "UTF-8" vì vậy tôi tin rằng tôi đang chuyển utf-8 để đánh dấu trong đoạn mã bên dưới. Các dấu gạch ngang em là nơi nó cuộn cảm.
Tôi nhận được lỗi Django của "'ascii' codec không thể mã hóa ký tự u '\ u2014' ở vị trí 109: thứ tự không nằm trong phạm vi (128)" là UnicodeEncodeError. Trong các biến được chuyển, tôi thấy "James Harden" OKLAHOMA CITY (AP) \ u2014. Dòng mã không hoạt động là:
content = content.encode(parsed_feed.encoding, "xmlcharrefreplace")
Tôi đang sử dụng markdown 2.0, django 1.1 và python 2.4.
Trình tự mã hóa và giải mã ma thuật mà tôi cần làm để thực hiện công việc này là gì?
(Để đối phó với yêu cầu Prometheus'. Tôi đồng ý các định dạng giúp)
Vì vậy, trong quan điểm nào để thêm một dòng smart_unicode trên dòng mã hóa parsed_feed ...
content = smart_unicode(content, encoding='utf-8', strings_only=False, errors='strict')
content = content = content.encode(parsed_feed.encoding, "xmlcharrefreplace")
này đẩy vấn đề với models.py của tôi đối với tôi nơi tôi có
def save(self, force_insert=False, force_update=False):
if self.excerpt:
self.excerpt_html = markdown(self.excerpt)
# super save after this
Nếu tôi thay đổi phương thức lưu. ..
def save(self, force_insert=False, force_update=False):
if self.excerpt:
encoded_excerpt_html = (self.excerpt).encode('utf-8')
self.excerpt_html = markdown(encoded_excerpt_html)
tôi nhận được lỗi " 'ascii' giải mã không thể giải mã byte 0xe2 ở vị trí 141: thứ tự không trong phạm vi (128)" vì bây giờ nó đọc "\ xe2 \ x80 \ x94" nơi gạch đầu là
bạn có thể xin vui lòng gửi traceback như hiện trạng không? – tzot
Về cơ bản, giá trị của 'parsed_feed.encoding' là gì? Có phải 'ascii', mỗi cơ hội? (điều đó sẽ giải thích cả hai lỗi của bạn). – tzot