pathlib read_text() 方法如何在 Windows 10 Enterprise 上正确显示德语变音符号?
我在读取包含以下内容的文本文件 textFile1
时遇到问题:
在屏幕测试的试镜阶段,第一次发生了战争。 Sie haben mir das alte Kostüm von einem meiner Vorgänger、Val Kilmer、gegeben。 Es 战争 verrückt。 Ich weiss noch genau,wie ich es mir angezogen habe und dachte,蝙蝠侠 zu spielen wird hier drinnen unmöglich sein für mich,völlig ausgeschlossen!
from pathlip import Path
p = Path('textFile1')
p.read_text()
语言为德语,部分字符显示不正确:
'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基尔默,gegeben。\nEs war verrückt。\nIch weiss noch genau,wie这是 mir angezogen habe und dachte,蝙蝠侠 zu spielen wird hier drinnen unmöglich sein fÒr mich,vÎllig ausgeschlossen!\n'
我遇到了这个问题另一次,当我尝试将表导入 postgreSQL 时。解决方法是从命令行输入以下内容:
chcp 1252
psql -U postgres
SET client_encoding='WIN1252'
\i Path/to/your/.sqlFile
我正在 Windows 计算机(Windows 10 企业版)上工作。有没有一种方法可以解决问题,而无需每次从命令行读取文本文件时更改 client_encoding ?我已经对此主题进行了大量研究,但找不到永久更改设置的方法。这似乎是一个“Windows 问题”,因为在我的 Mac 上所有字符都显示正确。
I have problems reading a text file textFile1
with the following content:
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.
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!
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'
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:
chcp 1252
psql -U postgres
SET client_encoding='WIN1252'
\i Path/to/your/.sqlFile
I am working on a Windows machine (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? 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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
p.read_text(编码='UTF-8')
p.read_text(encoding='UTF-8' )