鱼C论坛

 找回密码
 立即注册
查看: 577|回复: 2

[已解决]按照小甲鱼的Windows编程教程的第一个程序编写,运行窗口中文是乱码(已使用TEXTha...

[复制链接]
发表于 2023-7-16 11:35:30 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序是照着打的,然后运行出来的窗口中文是乱码,英文没事
将.c文件用记事本另存为ANSI编码格式之后问题解决,但只能运行一次,之后再运行还是乱码
设置了高级保存选项,没有找到ANSI编码,只有GB2312编码,修改后还是不行!
我是新手,这是我的第一个帖子!求求大佬帮助
最佳答案
2023-7-16 11:35:47
对于Windows编程中文乱码的问题,可能是由于编码格式不匹配所导致的。尽管记事本中的编码选项有限,但你可以尝试以下几个解决方案:

1. 使用其他文本编辑器:考虑使用其他支持更多编码格式的文本编辑器,例如Notepad++、Sublime Text、Visual Studio Code等。它们通常支持更丰富的编码选项,包括UTF-8、GB2312等。

2. 检查源文件编码:确保源代码文件(.c文件)保存的编码格式与你的系统和编译器兼容。尽量将源文件保存为UTF-8编码,这是一种通用的Unicode编码格式。

3. 设置控制台编码:在程序开头加入如下代码,将控制台的编码设置为UTF-8:
#include <stdio.h>#include <stdlib.h>#include <locale.h>int main() {    setlocale(LC_ALL, ""); // 设置本地化环境    system("chcp 65001"); // 设置控制台编码为UTF-8    // 以下是你的程序代码    // ...    return 0;}
上述代码使用setlocale()函数设置本地化环境,然后使用system()函数运行命令chcp 65001来将控制台编码设置为UTF-8。

这些方法中至少有一个应该能够解决你的中文乱码问题。如果仍然存在困扰,请提供更多关于你的编程环境和代码细节的信息,以便更好地帮助你解决问题。祝你学习愉快!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-7-16 11:35:47 | 显示全部楼层    本楼为最佳答案   
对于Windows编程中文乱码的问题,可能是由于编码格式不匹配所导致的。尽管记事本中的编码选项有限,但你可以尝试以下几个解决方案:

1. 使用其他文本编辑器:考虑使用其他支持更多编码格式的文本编辑器,例如Notepad++、Sublime Text、Visual Studio Code等。它们通常支持更丰富的编码选项,包括UTF-8、GB2312等。

2. 检查源文件编码:确保源代码文件(.c文件)保存的编码格式与你的系统和编译器兼容。尽量将源文件保存为UTF-8编码,这是一种通用的Unicode编码格式。

3. 设置控制台编码:在程序开头加入如下代码,将控制台的编码设置为UTF-8:
#include <stdio.h>#include <stdlib.h>#include <locale.h>int main() {    setlocale(LC_ALL, ""); // 设置本地化环境    system("chcp 65001"); // 设置控制台编码为UTF-8    // 以下是你的程序代码    // ...    return 0;}
上述代码使用setlocale()函数设置本地化环境,然后使用system()函数运行命令chcp 65001来将控制台编码设置为UTF-8。

这些方法中至少有一个应该能够解决你的中文乱码问题。如果仍然存在困扰,请提供更多关于你的编程环境和代码细节的信息,以便更好地帮助你解决问题。祝你学习愉快!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-7-16 11:47:36 | 显示全部楼层
陶远航 发表于 2023-7-16 11:35
对于Windows编程中文乱码的问题,可能是由于编码格式不匹配所导致的。尽管记事本中的编码选项有限,但你可 ...

谢谢你,已经成功解决!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-6-14 12:50

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表