递归火山软件开发平台

标题: 请问输出文本乱码怎么解决 [打印本页]

作者: yzy533544    时间: 2023-11-18 15:24
标题: 请问输出文本乱码怎么解决
<火山程序 类型 = "通常" 版本 = 1 />

方法 控制台_输出 <公开 静态 @禁止流程检查 = 真>
参数 内容 <类型 = 文本型>
{
    如果 (m_ininted)
    {
        WriteConsole (p_handleOut, 内容, 取文本长度(内容), 0, 0)
    }
}


代码如上,我创建了一个控制台窗口,然后使用上面的代码输出一个文本内容,但是输出的文本是一些乱码,请问是什么地方出问题了呢


作者: 无情铁手    时间: 2023-11-18 15:32
可能语法有问题,你这学法我还是第一次见,可能我是个菜鸟的原因
作者: hcwanz    时间: 2023-11-18 15:53
把 WriteConsole 的实现发出来啊,你这谁知道
作者: yzy533544    时间: 2023-11-18 17:30
hcwanz 发表于 2023-11-18 15:53
把 WriteConsole 的实现发出来啊,你这谁知道

<火山程序 类型 = "通常" 版本 = 1 />

方法 WriteConsole <公开 静态 类型 = 逻辑型 @输出名 = "WriteConsoleA" @视窗.输入 = "kernel32.dll">
参数 hConsoleInput <类型 = 整数 注释 = "控制台的标准输出句柄">
参数 lpBuffer <类型 = 文本型 注释 = "指向输出的内容">
参数 nNumberOfCharsToWrite <类型 = 整数 注释 = "指定要输出的数据长度">
参数 lpNumberOfCharsWritten <类型 = 整数 注释 = "指向一个双字,用来返回实际输出的字节数">
参数 lpReserved <类型 = 整数 注释 = "保留值.为NULL">

作者: weilai    时间: 2023-11-18 17:51
乱码肯定就是编码问题
作者: weilai    时间: 2023-11-18 17:51
所有的乱码都是编码问题
作者: hcwanz    时间: 2023-11-18 18:02
yzy533544 发表于 2023-11-18 17:30
方法 WriteConsole
参数 hConsoleInput
参数 lpBuffer
输出名的A改成W
<火山程序 类型 = "通常" 版本 = 1 />

方法 WriteConsole <公开 静态 类型 = 逻辑型 @输出名 = "WriteConsoleW" @视窗.输入 = "kernel32.dll">
参数 hConsoleInput <类型 = 整数 注释 = "控制台的标准输出句柄">
参数 lpBuffer <类型 = 文本型 注释 = "指向输出的内容">
参数 nNumberOfCharsToWrite <类型 = 整数 注释 = "指定要输出的数据长度">
参数 lpNumberOfCharsWritten <类型 = 整数 注释 = "指向一个双字,用来返回实际输出的字节数">
参数 lpReserved <类型 = 整数 注释 = "保留值.为NULL">
作者: suyan    时间: 2023-11-18 19:16
火山是W编码,你用的A,要转码




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4