Python 在windows cmd中打印utf-8

Python 在windows cmd中打印utf-8,python,utf-8,python-2.6,Python,Utf 8,Python 2.6,我现在正在用python构建一个战舰游戏,我的打印功能(用户可以打印他的棋盘)包括utf-8字符作为边界 文件: # -*- coding: utf-8 -*- from __future__ import print_function import random import numpy import ascii_art ROW_LEN = 10 def print_board(board): print (ascii_art.game_on + '\n', end="")

我现在正在用python构建一个战舰游戏,我的打印功能(用户可以打印他的棋盘)包括utf-8字符作为边界

文件:

# -*- coding: utf-8 -*-
from __future__ import print_function
import random
import numpy
import ascii_art
ROW_LEN = 10

def print_board(board):
    print (ascii_art.game_on + '\n', end="")
    for i in range(0, ROW_LEN - 1):
        print (' _______', end="")
    print(' _______ \n', end="")

    for x in range(0, ROW_LEN):
        for y in range(0, ROW_LEN):
            print ('│   ', end="")

            if board[x][y] != 'E':
                print (board[x][y], end="")
            else:
                print (' ', end="")
            print('   ', end="")

        print('│\n', end="")

        for j in range(0, ROW_LEN - 1):
            print(' ¯¯¯¯¯¯¯', end="")

        print(' ¯¯¯¯¯¯¯ \n', end="")
return 0

curr_board = construct_board() # constructs a board as a numpy array
player.print_board(curr_board.tolist())
然而,每次我使用

import codecs
codecs.register(lambda name: codecs.lookup('utf-8') if name == 'cp65001' else None)

我的cmd上有胡言乱语。我怎样才能解决这个问题

您应该将字符串封装到Unicode对象中。我在文件的开头添加了
#-*-编码:utf-8-*-
,这还不够吗?如果您能将您的程序缩减为演示问题的最短完整程序,这将有助于我们回答您的问题。把这个简短的程序复制粘贴到你的问题中。不是在Python2.6上,而是在Python3上
#-*-编码:utf-8-*-
保证您的字符将被编码为utf-8,但不会在以后进行转换。您是否尝试过类似于
-*-编码:cp65001-*-
?@Flav INow我遇到了
编码问题:BOM
(可能是因为我使用的是
从未来导入打印?)。