2013-08-26 47 views
6

Tôi mới dùng python. Tôi đang cố gắng để in ký tự có dấu, như thế này:In các ký tự có dấu trong Python 2.7

# -*- coding: utf-8 -*- 
    print 'éàÇÃãéèï' 

Nhưng khi tôi thực thi mã này, tôi nhận được:

>> ├®├á├ç├â├ú├®├¿├» 

Tôi đang sử dụng 64-bit Windows 7 & Python 2.7.5 , tôi có mã trong file.py và thực hiện nó với

python file.py 
+0

Phiên bản nào của python? (và mã hóa của thiết bị đầu cuối bạn đang in là gì?) – geoffspear

+6

Nhận xét 'coding: utf-8' có mục đích * only * để cho phép trình thông dịch diễn giải chính xác chuỗi ký tự chuỗi. Nó có ** không có gì ** để làm với in ấn hoặc xuất các ký tự. Trong trường hợp của bạn, thiết bị đầu cuối của bạn dường như sử dụng một mã hóa khác. Hãy thử kiểm tra xem mã hóa nào được trả về bởi 'sys.getdefaultencoding' và' sys.stdout.encoding'. – Bakuriu

+0

Nó hoạt động hoàn hảo cho tôi và tôi đang sử dụng Python 2.7 và cũng là Windows 7 64bit, vui lòng cung cấp thêm chi tiết về phiên bản bạn đang sử dụng và bạn có lưu nó vào một tệp hay không? – badc0re

Trả lời

3

Như Wooble đề cập, nếu bạn thay đổi

print 'éàÇÃãéèï' 

để

print u'éàÇÃãéèï' 

Nó sẽ làm việc.

Đây là một giới thiệu tốt để unicode trong python (cả cho 2.x và 3): The updated guide to unicode