翻译给人奇怪的字符,即使有gettext.bind_textdomain_代码集(“ISO591”)

2024-06-16 10:07:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在把我的Python应用程序翻译成法语。我生成了.po文件,但我有一个问题,法语字符显示不正确。你知道吗

示例:

exécution出现exÚcution

附言:我用gettext来翻译。你知道吗

即使我使用chcp 1252,它也不起作用。。我使用的是Pydev,当我尝试将数据打印到Pydev控制台时,它工作正常,但不是我想要的:这就是我将处理程序添加到记录器的方式可能是问题所在:

if givesFileName:
        if FileName is None:
            print('Please specify an output Text File Name')
            # Exit with error
            sys.exit()
        #create file handler
        fh = logging.handlers.RotatingFileHandler(FileName, mode="w",encoding="utf-8")
        fh.setLevel(logging.DEBUG)
        logger.addHandler(fh) 
else:
        #create console handler
        ch = logging.StreamHandler()
        ch.setLevel(logging.DEBUG)
        logger.addHandler(ch)"

Tags: debug应用程序ifloggingcreatechfilenamelogger
1条回答
网友
1楼 · 发布于 2024-06-16 10:07:48

您的数据正在解码IBM-850 codec,而不是拉丁语1:

>>> print u'exécution'.encode('latin1').decode('ibm850')
exÚcution

这意味着您的数据已从文件中正确读取,但在输出时,您的数据被编码到不正确的代码页。你知道吗

相关问题 更多 >