もっと単純な話だよ。
WindowsのDBCS系のAPIは、1文字2バイトまでの設計になってる。
だからUTF-8にしたくてもできない。Q.E.D.