递归火山软件开发平台

 找回密码
 立即注册
搜索
热搜: 火山 源码 类库

火山这个UTF16有时候还挺烦人的

查看数: 155 | 评论数: 7 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2025-8-12 11:29

正文摘要:

特别是网络传输的时候,比如我在对接原生Go服务器上传时,上传后文件名乱码的问题,这个问题在火山端无论怎么转码都没有用,必须在服务端专门做适配,自己写的服务端还好改一下服务端就行了,要是对接别人的直接寄 ...

回复

blackvolcano 发表于 1 小时前
Xelloss0618 发表于 2025-8-12 18:16
视窗选择UTF16是因为微软的API接口是这个编码,MFC、WTL等界面库也是用UTF16。
你那个命令是CURL封装的问题 ...

大佬牛皮????????????????????????
Xelloss0618 发表于 2 小时前
视窗选择UTF16是因为微软的API接口是这个编码,MFC、WTL等界面库也是用UTF16。
你那个命令是CURL封装的问题,因为CURL不支持UTF16,封装时是加了编码转换的,它默认转换成多字节,而不是UTF8,你可以改一下。

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

方法 置远程文件字段名称 <公开 类型 = 整数 注释 = "设置远程文件字段名称." 返回值注释 = "成功返回0,失败返回非0值(请参考\"执行状态码\"中所提供的常量定义)." @禁止流程检查 = 真>
参数 字段名 <类型 = 文本型>
{
    @ return (part != NULL ? curl_mime_filename(part, CU8String (@<字段名>.GetText ()).GetText ()) : CURLE_OBJECT_NOT_INIT);
}
shuimiao 发表于 5 小时前
本帖最后由 shuimiao 于 2025-8-12 14:34 编辑
blackvolcano 发表于 2025-8-12 12:19
这是文本型啊,能转也不会吐槽了

那就是你用的这个命令和他的库的问题,他不支持设置服务端编码,内部没有将火山的文本型转为UTF8的选项,与火山没有关系。如果能查看源码,你可以自己去改动下。使用UTF16作为默认编码的地方多的是,跟UTF8一样重要和普遍。比如记事本里的另存为Unicode就是UTF16LE,双字节字符因为对齐,处理方便。
shuimiao 发表于 8 小时前
火山不是有文本到UTF8()吗,注意第二个参数为假就行了
blackvolcano 发表于 8 小时前
创世魂 发表于 2025-8-12 12:05
上传数据都是字节集,怎么会乱码。。又不是文本直接发送的。这种都是自己代码写的问题了吧。 ...

远端文件名啊,比如上传一个“新建文件.txt”到原生Go端就是会乱码啊,Go端必须单独适配才行
创世魂 发表于 8 小时前
上传数据都是字节集,怎么会乱码。。又不是文本直接发送的。这种都是自己代码写的问题了吧。

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2025-8-12 20:23 , Processed in 0.085374 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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