HarmonyOS 鸿蒙Next 仓颉命令行中文显示乱码问题

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next 仓颉命令行中文显示乱码问题

hello.cj

main(){
    println("Hello Cangjie!")
    println("你是谁?")
}

命令行的输出:

cjc Hello.cj -o hello.exe

hello                    
Hello Cangjie!
浣犳槸璋侊紵

这是什么问题?windows 11 环境,设置代码页,也没有用。

另外,咱们这个论坛的代码块,是否也可以支持一下 cangjie?必须选代码类型,却没有cangjie的选项。


更多关于HarmonyOS 鸿蒙Next 仓颉命令行中文显示乱码问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

通过问Kimi,自己发现了解决方案。

查看了一下DevEco关于终端(Terminal)的设置,默认是PowerShell。一般情况下,默认的中文编码是GBK,仓颉的默认编码是UTF8。需要将PowerShell的编码改为UTF8,下面是一个临时的方案,对当前会话Session有效。

[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

之前用的

chcp 65001 # change code page to UTF-8

对应的是CMD,所以无效。

正确的结果:

> cjc hello.cj -o hello.exe
> hello.exe                
Hello Cangjie!
你是谁?

更多关于HarmonyOS 鸿蒙Next 仓颉命令行中文显示乱码问题的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


chcp 65001可以的,win10

仓颉编程语言啥时候申请通过呀?我昨晚申请的,今天上午还没通过…一天内能通过吗

我的申请不到一天就批了,可能最近申请的人多了,稍微耐心点。

针对HarmonyOS 鸿蒙Next 仓颉命令行中文显示乱码问题,可能的原因及解决方案如下:

  1. 字符编码不匹配:命令行工具与终端或显示设备之间的字符编码不一致可能导致乱码。请检查并确保命令行工具使用的编码与终端显示编码一致。在鸿蒙系统中,可以尝试设置终端为UTF-8编码,这通常是较为通用的编码格式。

  2. 字体支持不足:如果系统或终端字体不支持中文,也可能导致显示乱码。请确保系统或终端已安装支持中文的字体,并设置为默认显示字体。

  3. 环境变量配置错误:某些环境变量配置不当也可能影响字符显示。检查与字符编码相关的环境变量,如LANGLC_ALL等,确保它们被正确设置为支持中文的值,如zh_CN.UTF-8

  4. 软件版本问题:仓颉命令行工具本身可能存在bug或不支持某些特定字符集。请检查是否有可用的更新或补丁,并尝试应用它们。

如果以上方法均未能解决问题,可能是更深层次的系统或软件兼容性问题。此时,建议直接联系鸿蒙系统的技术支持团队或访问官方网站获取更专业的帮助。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部