<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 203: Why UTF8 is not working with MSYS2 Mingw64 UCRT compiler?</title><link>https://sourceforge.net/p/mingw-w64/support-requests/203/</link><description>Recent changes to 203: Why UTF8 is not working with MSYS2 Mingw64 UCRT compiler?</description><atom:link href="https://sourceforge.net/p/mingw-w64/support-requests/203/feed.rss" rel="self"/><language>en</language><lastBuildDate>Thu, 26 Jun 2025 07:29:23 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/mingw-w64/support-requests/203/feed.rss" rel="self" type="application/rss+xml"/><item><title>Why UTF8 is not working with MSYS2 Mingw64 UCRT compiler?</title><link>https://sourceforge.net/p/mingw-w64/support-requests/203/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I see in multiple places things like that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;UCRT (ucrtbase.dll): Supports UTF-8 in paths, if you enable a UTF-8 locale&lt;br/&gt;
in your application.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a class="" href="https://stackoverflow.com/questions/76552264/what-are-msys2-environments-how-do-i-pick-one" rel="nofollow"&gt;here&lt;/a&gt;  and &lt;a class="" href="https://www.msys2.org/docs/environments" rel="nofollow"&gt;here&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;I tested with this:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="cp"&gt;#include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cpf"&gt;&amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span class="cp"&gt;#include&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="cpf"&gt;&amp;lt;locale.h&amp;gt;&lt;/span&gt;

&lt;span class="kt"&gt;int&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nf"&gt;main&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;setlocale&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;LC_ALL&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"en_US.UTF-8"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// Set locale to UTF-8&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;FILE&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;*&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;fopen&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"test_utf8_文件.txt"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s"&gt;"r"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;&lt;span class="w"&gt;  &lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;printf&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"File opened successfully&lt;/span&gt;&lt;span class="se"&gt;\n&lt;/span&gt;&lt;span class="s"&gt;"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;fclose&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;fp&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;else&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;perror&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s"&gt;"Error opening file"&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;I compiled it with &lt;strong&gt;UCRT64&lt;/strong&gt; of &lt;strong&gt;Mingw64&lt;/strong&gt; of &lt;strong&gt;MSYS2&lt;/strong&gt; in &lt;strong&gt;Windows 7&lt;/strong&gt;, when I run it&lt;br/&gt;
in &lt;strong&gt;Windows 7&lt;/strong&gt; I get: &lt;code&gt;Error opening file: Invalid argument&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I also tested &lt;strong&gt;i686-15.1.0-release-win32-dwarf-ucrt-rt_v12-rev0&lt;/strong&gt; from&lt;br/&gt;
&lt;a href="https://github.com/niXman/mingw-builds-binaries" rel="nofollow"&gt;https://github.com/niXman/mingw-builds-binaries&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;does this work in older windows versions like windows 7 or do I need win&lt;br/&gt;
10+?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a class="" href="https://learn.microsoft.com/en-us/cpp/c-runtime-library/reference/setlocale-wsetlocale?view=msvc-170#utf-8-support" rel="nofollow"&gt;Microsoft says:&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;To use this feature on an OS prior to Windows 10, you must use app-local&lt;br/&gt;
deployment or link statically using version 1803 (10.0.17134.0) of the&lt;br/&gt;
Windows SDK or later. For Windows 10 operating systems prior to 1803&lt;br/&gt;
(10.0.17134.0), only static linking is supported.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;but in Mingw64 I find no way to link UCRT statically!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;is there any hope to make this work in windows 7?&lt;/strong&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">alkor san</dc:creator><pubDate>Thu, 26 Jun 2025 07:29:23 -0000</pubDate><guid>https://sourceforge.netee7f4d8124f10a48694a15275932ff33de4e9f3a</guid></item></channel></rss>