以cmd打印和存储西班牙语字符(á,é,í,ñ...)

拉法·埃尔南德斯(Rafa Hernandez)

我正在将Microsoft Windows 10与mingw-w64(gcc版本8.1.0,x86_64-posix-sjlj-rev0,由MinGW-W64项目构建)一起使用cmd当我尝试打印或存储然后在Windows控制台上打印西班牙语字符时,它显示错误。例如,我尝试执行此程序:

#include <stdio.h>

int main(void) {
    char c[20];
    printf("pía\n");
    scanf("%s", c);
    printf("%s", c);
}

如果我引入一些西班牙语字符,则返回的语句可以,但是开头打印的语句显示错误:

pía
laíóñaú
laíóñaú

一些解决方案建议放置setlocale()函数,但结果相同。其他解决方案是将UTF-8 Unicode兼容性放在区域设置上:

在此处输入图片说明

但是现在错误正好相反,打印出来的错误就可以了,但是当我引入一个奇怪的字符时,控制台不会显示它:

pía
lía
l

因为我看到的所有解决方案都是通过上述设置或通过设置解决的,所以这有点令人沮丧setlocale(),但是它们都不适合我,我也不知道为什么。

编辑

正如Mofi在评论中所说,我尝试使用SetConsoleCP()SetConsoleOutputCP()更改控制台的代码页。在没有完全理解这些功能如何工作的情况下,使用与上面相同的代码,我运行了一些错误结果的示例:

pía                       | p├¡a                    | p├¡a                  | pía
lía                       | lía                     | lía                   | lía
l                         | l                       | lía                   | la
input: 65001 output 65001 | input: 65001 output 850 | input: 850 output 850 | input: 850 output 65001

我如何不完全了解此功能,我不知道为什么在上一个示例中,控制台没有显示带重音符号的存储字符,但是在打印的字符中却显示了该字符,而在上面的示例中,情况却相反。

拉法·埃尔南德斯(Rafa Hernandez)

正如Mofi在上述评论中所说,解决方案在于我使用的编辑器如何解释我所写的字符。我使用的是Visual Studio Code,并更改了默认情况下的编码,在右下角更改UTF-8CP 850现在,编辑者将能够正确解释西班牙语字符。

下一个问题是更改控制台的代码页。使用命令chcp 850或功能SetConsoleCP(850)SetConsoleOutputCP(850)我们可以在打开的每个控制台上更改代码页。要默认设置,请执行以下操作:

  • 打开注册表编辑器,然后转到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
  • New->String Value并输入名称Autorun
  • 将该值修改为chcp 850 > nul

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

以cmd打印和存储西班牙语字符(á,é,í,ñ...)

来自分类Dev

angularjs搜索并忽略西班牙语字符

来自分类Dev

如何在Javascript中打印罗马语言(例如西班牙语)/特殊字符?

来自分类Dev

Sublime - Python3 不打印非 utf-8 字符(西班牙语)

来自分类Dev

西班牙语键盘如何显示西班牙语重音字符?

来自分类Dev

Oracle Forms文本字段提示和西班牙语字符

来自分类Dev

Ruby CSV +西班牙语字符:Encoding :: UndefinedConversionError

来自分类Dev

以字符串格式转换西班牙语日期?

来自分类Dev

使用Perl文件处理的CSV中的西班牙语字符

来自分类Dev

(fr_CA)QWERTY键盘上的西班牙语字符

来自分类Dev

Java中字符串的传统西班牙语排序

来自分类Dev

如何从西班牙语单词中删除特殊字符

来自分类Dev

西班牙语支持UIImagePickerController的Retake和Use照片按钮

来自分类Dev

从西班牙语解析日期和更改格式

来自分类Dev

NLTK缺少西班牙语单词网

来自分类Dev

GF中的NP的西班牙语动词

来自分类Dev

西班牙语的IBM Watson Alchemy服务

来自分类Dev

Rstudio 拼写检查器(西班牙语)

来自分类Dev

CSS:“文本转换:大写”和意大利语,西班牙语,葡萄牙语,法语等

来自分类Dev

CSS:“文本转换:大写”和意大利语,西班牙语,葡萄牙语,法语等

来自分类Dev

如何处理CSS文件中的类名的西班牙语字符?

来自分类Dev

无法在Java中将西班牙语日期字符串转换为LocalDate

来自分类Dev

无法在Java中将西班牙语日期字符串转换为LocalDate

来自分类Dev

处理西班牙语字符时,如何在mysql中首字母等于“ X”的记录?

来自分类Dev

Ubuntu mysql数据库无法识别西班牙语重音字符

来自分类Dev

如何处理CSS文件中的类名的西班牙语字符?

来自分类Dev

在MYSQL中以西班牙语为重音的圣经网站字符集

来自分类Dev

不使用桌面环境时,如何在Linux中键入德语或西班牙语字符?

来自分类Dev

我可以将热键绑定到西班牙语字符吗?

Related 相关文章

  1. 1

    以cmd打印和存储西班牙语字符(á,é,í,ñ...)

  2. 2

    angularjs搜索并忽略西班牙语字符

  3. 3

    如何在Javascript中打印罗马语言(例如西班牙语)/特殊字符?

  4. 4

    Sublime - Python3 不打印非 utf-8 字符(西班牙语)

  5. 5

    西班牙语键盘如何显示西班牙语重音字符?

  6. 6

    Oracle Forms文本字段提示和西班牙语字符

  7. 7

    Ruby CSV +西班牙语字符:Encoding :: UndefinedConversionError

  8. 8

    以字符串格式转换西班牙语日期?

  9. 9

    使用Perl文件处理的CSV中的西班牙语字符

  10. 10

    (fr_CA)QWERTY键盘上的西班牙语字符

  11. 11

    Java中字符串的传统西班牙语排序

  12. 12

    如何从西班牙语单词中删除特殊字符

  13. 13

    西班牙语支持UIImagePickerController的Retake和Use照片按钮

  14. 14

    从西班牙语解析日期和更改格式

  15. 15

    NLTK缺少西班牙语单词网

  16. 16

    GF中的NP的西班牙语动词

  17. 17

    西班牙语的IBM Watson Alchemy服务

  18. 18

    Rstudio 拼写检查器(西班牙语)

  19. 19

    CSS:“文本转换:大写”和意大利语,西班牙语,葡萄牙语,法语等

  20. 20

    CSS:“文本转换:大写”和意大利语,西班牙语,葡萄牙语,法语等

  21. 21

    如何处理CSS文件中的类名的西班牙语字符?

  22. 22

    无法在Java中将西班牙语日期字符串转换为LocalDate

  23. 23

    无法在Java中将西班牙语日期字符串转换为LocalDate

  24. 24

    处理西班牙语字符时,如何在mysql中首字母等于“ X”的记录?

  25. 25

    Ubuntu mysql数据库无法识别西班牙语重音字符

  26. 26

    如何处理CSS文件中的类名的西班牙语字符?

  27. 27

    在MYSQL中以西班牙语为重音的圣经网站字符集

  28. 28

    不使用桌面环境时,如何在Linux中键入德语或西班牙语字符?

  29. 29

    我可以将热键绑定到西班牙语字符吗?

热门标签

归档