博文背景![java](https://i-blog.csdnimg.cn/blog_migrate/7076a4e12c8f463e82aa2ffece7c7762.png)
Java或者C++从Windows控制台(包括cmd和pwsh)读入UTF-8字符存在困难,问题出在它无法正确读取我们往控制台输入的UTF-8字符,但在GBK条件下不存在问题
解决办法
这应该是算微软的问题了,除了向控制台手动输入UTF-8存在困难其他的均可以解决,具体什么问题为了节省时间我就不深究了,解决办法要么向它屈服,使用GBK编码格式,要么在UTF-8下使用管道将输入的字符串传递过去,或者不使用cmd和pwsh的控制台,使用winpty来替代,不过我没有具体深究
如果有进一步研究的兴趣可以研究微软的控制台文档
https://docs.microsoft.com/en-us/windows/console/
2021年03月更新
我知道上次使用ssh尝试为什么不可以了,因为上次我还是在Win下的直接的powershell窗口中进行ssh远程操作,其实问题就是出在这种微软的“直接的窗口”中,咋说呢,就是控制台的层面来说,它有小毛病。所以我今天恍然大悟,我使用Mobaxterm远程Win计算机进行操作,在全UTF-8的情况下完美运行。