SQLite Forum

Unicode Input/output in sqlite3.exe on Windows 10
Login
I didn't read this time your messages by "diagonal" and investigated deeply this issue (everyone need to know a tool one using).

I tested unicode support on windows x86_64  7,8,10, Server 2016,2019 with official [sqlite3.exe](https://www.sqlite.org/2022/sqlite-tools-win32-x86-3370200.zip) in code page 65001 (aka UTF-8) and everywhere **sqlite3** abruptly quit to console (or freezed in [Windows terminal](https://github.com/Microsoft/Terminal#installing-and-running-windows-terminal)) on its own after issuing SQL statements with characters that aren't ASCII.

Test case (font used to make sure UTF-8 characters are visible: **DejaVu Sans Mono**): 

------

```
console> chcp 65001

sqlite> create temp table uni(txt);
sqlite> insert into uni (txt)values('test'),('Prüfung'),('испытание'),('اختبار'),('测试');
```

------

After last statement **sqlite3** exits on its own back to console (regardless if it is classic **`cmd`** or it is [**`ConEmu`**](https://conemu.github.io/) or [**`ConsoleZ`**](https://github.com/cbucher/console)). 

The only official solution if you on Windows 10 v1903 or later and you need well supported by MS UTF8, then you need to install [Windows terminal ("monster" = 40Mb)](https://github.com/Microsoft/Terminal#installing-and-running-windows-terminal) that supposed to fix UTF8 issue in console for all unicode aware programs, including WSL.

Regarding **`sqlite3`**, it somehow choke even in [Windows terminal](https://github.com/Microsoft/Terminal#installing-and-running-windows-terminal) too.

The only non-portable solution I found that works in **`sqlite3`**, is to use particular code page for particular language. I see you used in your test case cyrillic and german's characters, in such cases, using **`chcp 855`** or **`chcp 866`** would at least accept cyrillic and leave umlaut converted to ASCII. But this is obviously a bad workaround.