upleveled / system-setup

Set up a PERN development environment on Windows, macOS and Linux
28 stars 19 forks source link

Warning in psql console on Windows for none matching character encoding #83

Open Eprince-hub opened 4 months ago

Eprince-hub commented 4 months ago

Related to https://github.com/upleveled/system-setup/issues/76

There is a warning in the psql console about character encoding that doesn't match the system encoding. Some Windows machines still use the legacy 1252 that may not support all utf-8 character encoding.

The warning from the psql console

WARNING: Console code page (850) differs from the Windows code page (1252). 8-bit characters might not work correctly. See psql reference page "Notes for Windows users" for details.

Recommended Solution

Not Recommended Solution

Some findings

client_encoding

UTF8 (1 row)

- [Checking the Beta `UTF-8` support on windows solved the issue](https://stackoverflow.com/questions/57131654/using-utf-8-encoding-chcp-65001-in-command-prompt-windows-powershell-window)

Checking the system info with `[System.Text.Encoding]::Default`
System info before the checkbox is checked
```bash
IsSingleByte      : True
BodyName          : iso-8859-1
EncodingName      : Western European (Windows)
HeaderName        : Windows-1252
WebName           : Windows-1252
WindowsCodePage   : 1252
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
EncoderFallback   : System.Text.InternalEncoderBestFitFallback
DecoderFallback   : System.Text.InternalDecoderBestFitFallback
IsReadOnly        : True
CodePage          : 1252

System info after the checkbox is checked (all 1252 changed to utf-8 and its 65001 number equivalent)

BodyName          : utf-8
EncodingName      : Unicode (UTF-8)
HeaderName        : utf-8
WebName           : utf-8
WindowsCodePage   : 1200
IsBrowserDisplay  : True
IsBrowserSave     : True
IsMailNewsDisplay : True
IsMailNewsSave    : True
IsSingleByte      : False
EncoderFallback   : System.Text.EncoderReplacementFallback
DecoderFallback   : System.Text.DecoderReplacementFallback
IsReadOnly        : True
CodePage          : 65001

Conversation in https://github.com/upleveled/system-setup/pull/80 about this

https://github.com/upleveled/system-setup/pull/80/commits/60ddd090753fefa7b956e4c13eed5d9863a3efcc#r1668603246 https://github.com/upleveled/system-setup/pull/80/commits/60ddd090753fefa7b956e4c13eed5d9863a3efcc#r1674257929