Home > database >  How can pathlib read_text() method display German Umlaute correctly on Windows 10 Enterprise?
How can pathlib read_text() method display German Umlaute correctly on Windows 10 Enterprise?

Time:03-05

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.

CodePudding user response:

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

  • Related