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.