Encoding 在'CMD'中键入波斯语`

Encoding 在'CMD'中键入波斯语`,encoding,cmd,windows-10,Encoding,Cmd,Windows 10,我想用Python编写代码。 我的代码有波斯语界面,但当我在CMD中运行它时,我只看到问号?,我也尝试了chcp 65001,但没有成功。我也遇到了同样的问题,但我解决了更改命令提示符属性上的字体的问题。选择适合您所需语言的适当字体。在谷歌上进行了大量搜索,并使用了几个网站的代码,我找到了一个在某种程度上解决此问题的代码: 必须首先在Python中安装双向库。通过安装此库,可以更正字母布局。但字母仍然是分开的 从GitHub下载更好的Arabic Reformer库,并在Python中安装它以

我想用
Python
编写代码。
我的代码有波斯语界面,但当我在CMD中运行它时,我只看到问号
,我也尝试了
chcp 65001
,但没有成功。

我也遇到了同样的问题,但我解决了更改命令提示符属性上的字体的问题。选择适合您所需语言的适当字体。

在谷歌上进行了大量搜索,并使用了几个网站的代码,我找到了一个在某种程度上解决此问题的代码:

  • 必须首先在Python中安装双向库。通过安装此库,可以更正字母布局。但字母仍然是分开的

  • 从GitHub下载更好的Arabic Reformer库,并在Python中安装它以解决此问题

  • 然后将此代码添加到项目中:

    import arabic_reshaper
    from bidi.algorithm import get_display 
    import shutil
    from os import system
    system('chcp 1256')
    system('cls')
    def farsi_print(txt):
        columns=shutil.get_terminal_size((80, 20)).columns
        txt2=[]
        txt3=''
        for n in txt:
            if n!="\n":
                txt3+=n
            else:
                txt2.append(txt3)
                txt3=''
        txt2.append(txt3)
        txt3=''
        for line in txt2:
            reshaped_text = arabic_reshaper.reshape(line)
            bidi_text = get_display(reshaped_text)
            bidi_text = bidi_text.rjust(columns-1)
            print(bidi_text)
    
  • 使用
    farsi_print()
    在cmd中用波斯语书写


  • 请给我们一个.Change
    cmd
    窗口字体。问号是当前Windows控制台字体中不存在的标志符号的替换。