You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C++或Python中打印孟加拉语?解决乱码与无输出问题

解决控制台/PowerShell正常打印孟加拉语的步骤

一、系统基础设置

  • 切换控制台编码为UTF-8
    打开PowerShell或命令提示符,执行命令:
    chcp 65001
    
  • 配置默认UTF-8编码(Windows 10 1903及以上版本)
    右键控制台标题栏→属性→选项,勾选"使用UTF-8编码进行全球语言支持",点击确定保存。
  • 安装孟加拉语语言包
    进入Windows设置→时间和语言→语言→添加语言,搜索"孟加拉语"完成安装。
  • 更换支持孟加拉语的控制台字体
    右键控制台标题栏→属性→字体,选择如Vrinda、SolaimanLipi等支持孟加拉语的字体(需提前安装对应字体)。

二、Python 解决方案

方法1:重新配置标准输出编码(Python 3.7+)

在代码开头添加编码配置,直接打印孟加拉语文本:

import sys
sys.stdout.reconfigure(encoding='utf-8')

print("আমি বাংলায় লিখছি")

方法2:使用io模块手动指定编码

兼容低版本Python的写法:

import sys
import io

sys.stdout = io.TextIOWrapper(sys.stdout.detach(), encoding='utf-8')
print("আমি বাংলায় লিখছি")

注意事项

确保代码文件以UTF-8编码保存(编辑器中设置编码为UTF-8,如VS Code右下角可切换)。

三、C++ 解决方案

方法1:调用Windows API设置输出编码

通过SetConsoleOutputCP将控制台输出编码设为UTF-8,配合宽字符或UTF-8字符串打印:

#include <windows.h>
#include <iostream>
using namespace std;

int main() {
    // 设置控制台输出为UTF-8编码
    SetConsoleOutputCP(CP_UTF8);
    
    // 方式1:使用宽字符输出
    wcout << L"আমি বাংলায় লিখছি" << endl;
    
    // 方式2:直接输出UTF-8字符串
    // cout << "আমি বাংলায় লিখছি" << endl;
    return 0;
}

方法2:配置编译器字符集(Visual Studio)

打开项目属性→常规→字符集,选择"使用Unicode字符集",确保代码文件以UTF-8编码保存。

四、PowerShell 额外优化

若PowerShell仍显示异常,可在启动脚本中添加编码配置:

$OutputEncoding = [Console]::OutputEncoding = [System.Text.UTF8Encoding]::new()

内容的提问来源于stack exchange,提问作者Amit Roy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 14:06:04