使用 gcc 将字符串文字的编码设置为 latin1

Posted

技术标签:

【中文标题】使用 gcc 将字符串文字的编码设置为 latin1【英文标题】:set encoding of string literals to latin1 with gcc 【发布时间】:2014-08-03 18:35:53 【问题描述】:

有什么方法可以强制 gcc 对字符串文字使用 latin1 编码?我可以使用 u8 前缀来获取 utf-8 编码的字符串文字,但是如何使用 iso 8859-1 字符串文字?不要误会,我说的不是源文件的编码

【问题讨论】:

如果你想要一个特定的字符串文字编码,你肯定想要设置源文件的编码,因为字符串文字在源文件中。 【参考方案1】:

如果你想在源文件中包含 latin1 文字,你应该直接使用\x。可能还有其他方法,但它们依赖于不可移植的选项来告诉编译器源文件的编码,并且您已经说过您不想更改源文件的编码。但实际上,这是 2014 年,而不是 1994 年。您应该尽可能避免使用 latin1,并将所有数据采用 Unicode 编码。

【讨论】:

【参考方案2】:

+1 到 R.. 但由于问题是关于 gcc 的:

您需要使用选项:

-fexec-charset=iso-8859-1

您可能还想使用-finput-charset 选项指定源文件的编码。最后,您可以指定宽字符的编码,但非常不推荐。

gcc manual 中描述了所有这三个选项。

【讨论】:

以上是关于使用 gcc 将字符串文字的编码设置为 latin1的主要内容,如果未能解决你的问题,请参考以下文章

latin-1

如何设置Mysql数据库默认的字符集编码为GBK

my.conf 配置编码为utf-8

使用 pd.concat() 函数后的问题 - 编码 latin-1 - 德语字符

sql编码为latin1,中文内容全部显示问号,怎么设置

将 ISO-8859-1 / Latin-1 转换为字符串 (UTF-8) 的选项都有哪些?