标签: c linux character-encoding
我正在用C语言编写一个控制台程序。
我希望我的程序运行的终端将其字符编码设置为UTF-8。这意味着我将UTF-8编码的字符串发送到终端,并期望从终端接收UTF-8编码的字符串。
但是如果终端在我的程序运行时被设置为另一个字符编码(UTF-8除外),那么我的程序将按预期停止工作。
那么有没有办法知道终端在我的程序中设置了什么字符编码(这样我可以相应地更改我的程序行为)?即使有这样的方式,我是否应该打扰我的程序使用多种字符编码,或者仅仅使它能够与UTF-8一起使用?