简体   繁体   English

pathlib read_text() 方法如何在 Windows 10 Enterprise 上正确显示 German Umlaute?

[英]How can pathlib read_text() method display German Umlaute correctly on Windows 10 Enterprise?

I have problems reading a text file textFile1 with the following content:我在读取包含以下内容的文本文件textFile1时遇到问题:

Das erste Mal war noch in der Audition-Phase bei einem Screentest. Das erste Mal war noch in der Audition-Phase bei einem Screentest。 Sie haben mir das alte Kostüm von einem meiner Vorgänger, Val Kilmer, gegeben. Sie haben mir das alte Kostüm von einem meiner Vorgänger, Val Kilmer, gegeben。 Es war verrückt. Es war verrückt。 Ich weiss noch genau, wie ich es mir angezogen habe und dachte, Batman zu spielen wird hier drinnen unmöglich sein für mich, völlig ausgeschlossen! Ich weiss noch genau, wie ich es mir angezogen habe und dachte, Batman zu spielen wird hier drrinnen unmöglich sein für mich, völlig ausgeschlossen!

from pathlip import Path
p = Path('textFile1')
p.read_text()

The language is German and some of the characters are not displayed correctly:语言为德语,部分字符显示不正确:

'Das erste Mal war noch in der Audition-Phase bei einem Screentest.\nSie haben mir das alte Kost ü m von einem meiner Vorg ä nger, Val Kilmer, gegeben.\nEs war verr ü ckt.\nIch weiss noch genau, wie ich es mir angezogen habe und dachte, Batman zu spielen wird hier drinnen unmöglich sein f ü r mich, v ö llig ausgeschlossen!\n' 'Das erste Mal war noch in der Audition-Phase bei einem Screentest.\nSie haben mir das alte Kost ü m von einem meiner Vorg ä nger, Val Kilmer, gegeben.\nEs war verr ü ckt.\nIch weiss noch genau, wie es mir angezogen habe und dachte, Batman zu spielen wird hier drnnen unmöglich sein f ¼ r mich, v ö llig ausgeschlossen!\n'

I came across this problem on another occasion when I tried to import a table into postgreSQL. A workaround was to enter the following from the command line:我在另一次尝试将表导入 postgreSQL 时遇到了这个问题。解决方法是从命令行输入以下内容:

chcp 1252
psql -U postgres
SET client_encoding='WIN1252'
\i Path/to/your/.sqlFile

I am working on a Windows machine (Windows 10 Enterprise).我正在使用 Windows 机器 (Windows 10 Enterprise)。 Is there a way to solve the problem without changing the client_encoding every time I read text files from the command line?有没有办法在每次从命令行读取文本文件时不更改 client_encoding 的情况下解决问题? I have done quit a lot of research on this topic but I couldn't find a way to change the settings permanently.我已经放弃了很多关于这个主题的研究,但我找不到永久更改设置的方法。 It seems to be a "Windows problem", because on my Mac all the characters are displayed correctly.这似乎是一个“Windows 问题”,因为在我的 Mac 上所有字符都显示正确。

p.read_text(encoding='UTF-8' ) p.read_text(编码='UTF-8')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM