观铃の使魔 发表于 2022-4-29 17:52

软件不支持中文路径是哪里的问题

不懂软件开发只想知道这是谁的问题

都2202年了 我把madvr放到中文目录里就不能运行

lawsherman 发表于 2022-4-29 17:57

不支持unicode字符编码的问题

→熙← 发表于 2022-4-29 17:58

老外没这需求+windows不用utf8

观铃の使魔 发表于 2022-4-29 17:59

lawsherman 发表于 2022-4-29 17:57
不支持unicode字符编码的问题

是作者不想支持

还是系统原因

还是其它原因之类的

观铃の使魔 发表于 2022-4-29 17:59

→熙← 发表于 2022-4-29 17:58
老外没这需求+windows不用utf8

但好多国外软件也支持中文路径啊

有些就不支持

是作者的郭吗

lawsherman 发表于 2022-4-29 18:02

本帖最后由 lawsherman 于 2022-4-29 18:04 编辑

外国人很少认知到unicode的问题

再加上配置开发环境也是个普遍的难点。就算是国内这么多成熟的软件公司,配置开发环境也是个老大难问题

观铃の使魔 发表于 2022-4-29 18:05

lawsherman 发表于 2022-4-29 18:02
外国人很少认知到unicode的问题

我把LAVFilters放中文路径就行

madvr就不行

以前很多软件不支持 理解

现在现在不支持中文路径就是非主流一样

糊状物 发表于 2022-4-29 18:19

观铃の使魔 发表于 2022-4-29 18:05
我把LAVFilters放中文路径就行

madvr就不行


开发者没需求不想弄就不会去弄,就是这么简单

GomezS 发表于 2022-4-29 19:01

本帖最后由 GomezS 于 2022-4-29 19:15 编辑

编辑

einhorn 发表于 2022-4-29 19:10

有那么麻烦吗?

Windows API一般两套,一套unicode,另一套是unicode套壳的ansi

现在VS开发c/c++默认都是unicode,不支持unicode路径的软件这年头都不好找了

whzfjk 发表于 2022-4-29 19:22

superlattice 发表于 2022-4-29 19:26

本帖最后由 superlattice 于 2022-4-29 19:34 编辑

编码问题,英语用ASCII码单字节字符足够了,但是中文日文法文韩文德文等等靠Unicode的就是另一回事……

历史越长的编程语言包袱越多,需要额外调整。像Python/Go这种比较年轻的,默认就支持UTF-8

すぴぱら 发表于 2022-4-29 21:28

烟萝 发表于 2022-4-29 21:42

其实没那么容易……
Win10 有一个内核语言 这个是安装IOS决定的,改不了
还有一个 Windows显示语言 这个就是系统的UI语言
还有一个 非Unicode程序的语言。这一个选项现在提供了Beta通用版选项

但在实际使用过程中……各种BUG和问题排查简直是一场灾难
并不只限于平时遇到的乱码和路径问题。还有很多程序的启动和运行问题。

hxdhttk 发表于 2022-4-29 21:47

einhorn 发表于 2022-4-29 19:10
有那么麻烦吗?

Windows API一般两套,一套unicode,另一套是unicode套壳的ansi


其实只有一套,A系API实际就是把字符串编码转换一下然后直接调用W系API。所以用A系API性能还低一些。

回忆and无语 发表于 2022-4-29 22:27

烟萝 发表于 2022-4-29 21:42
其实没那么容易……
Win10 有一个内核语言 这个是安装IOS决定的,改不了
还有一个 Windows显示语言 这个就 ...

我以前装的中文版Win, 装了语言包调成英文
大更新的时候就会用模糊的中文显示正在更新, 这是传说中的内核语言吗

r_ex 发表于 2022-4-30 00:26

当然是软件的问题
C++标准对Unicode的态度很暧昧,所以各种普通字符串操作在C++里面都很难做,很多都只能通过C的POSIX标准或者调用Win32 API来做
POSIX标准是一个陈旧的东西,里面很多东西依赖于系统内部状态(比如说系统默认编码)
Win32 API有W结尾的和A结尾的两套,W是用Unicode的,A是用系统默认编码的;Windows上也有一部分POSIX标准的函数,但是是只支持系统默认编码的
系统默认编码在Linux上现在基本上都已经是UTF-8了,所以不考虑兼容性的情况下很少出问题(老的GBK之类的编码生成的文件无法使用,需要通过iconv等工具来转换)
系统默认编码在Windows上现在还是以各个语言的历史标准为主(比如中文是GBK),可以兼容20年来的大部分程序(为Win2000及以后开发的应用程序大部分能运行);也可以设置成UTF-8(beta),但很多程序会崩溃、出错、乱码(因为它们会假定系统默认编码是GBK或者Shift-JIS等)

很多程序先在Linux上实现,然后移植到Windows上,喜欢使用POSIX标准的函数,但实际上正确的做法应该是改为使用Win32 API的W结尾的函数

如果微软像苹果那样激进,应该在Windows上A结尾的和POSIX的函数在10年以前就已经不能用了

Jet.Black 发表于 2022-4-30 00:32

别说中文了,很多软件的路径连空格都不能有。

zatsuza 发表于 2022-4-30 00:39

unicode api是9x时代的问题了,第一个能很好支持unicode的系统是win2000,你可以算算多少年了……vc里面明明只需要定义一个宏就能支持但是很多软件都没做,尤其是日本的软件

自旋 发表于 2022-4-30 12:23

宮脇咲良 发表于 2022-4-30 15:53

观铃の使魔 发表于 2022-4-29 18:05
我把LAVFilters放中文路径就行

madvr就不行


mad系本就是个人闭源软件 madshi不想做就是不想做
lavf是开源 总有有需求的人自己会去patch
根本没法类比 去跟某些小鬼子的闭源软件比还差不多

苏小幼 发表于 2022-4-30 23:50

如果我用的是是英语,应该会觉得为了适配其他语言,换用更大字符集的这种行为很不爽

ipcjs 发表于 2022-5-1 10:35

是你的问题
目录名没有中文和空格有那么难么

— from Google Pixel 6 Pro, Android 12 of S1 Next Goose v2.5.4

windaria 发表于 2022-5-1 12:47

ipcjs 发表于 2022-5-1 10:35
是你的问题
目录名没有中文和空格有那么难么


不难,那支持中文路径有那么难吗

signad 发表于 2022-5-1 13:31

装了一大堆乱七八糟工程软件的人表示早就把系统语言改成英文,路径也全英文了,哪怕用拼音也不敢用中文,费时费力

signad 发表于 2022-5-1 13:32

windaria 发表于 2022-5-1 12:47
不难,那支持中文路径有那么难吗

难啊,路径我可以自己改,软件我怎么说服开发者去支持

万里小路さん 发表于 2022-5-1 13:42

不是c++写的软件一般就不会有这些问题,但Windows的api都是用c++写的dll

-- 来自 有消息提醒的 Stage1官方 Android客户端

win8 发表于 2022-5-1 14:21

中文一个汉字对应几个字符还得处理一下。再加上c用指针和内存本身就略麻烦一点,有问题很正常。其实其他语言也不一定能很正常的处理扩展区,只不过gbk字符集一般没有问题罢了。

hxy8241 发表于 2022-5-1 21:44

其实微软的问题大点,对Unicode这种就应该默认使用,旧软件用xp mode这种形式来解决,实在解决不了可以学苹果虚拟机。现在win11了,还默认非Unicode程序编码为本地编码,早就应该所有程序默认编码UTF8了。

—— 来自 Xiaomi MI 6, Android 11上的 S1Next-鹅版 v2.5.2-play

Jet.Black 发表于 2022-5-1 23:36

hxy8241 发表于 2022-5-1 21:44
其实微软的问题大点,对Unicode这种就应该默认使用,旧软件用xp mode这种形式来解决,实在解决不了可以学苹 ...

微软支持的unicode是utf16,uft8大部分情况下还要转换。

uft8只是标准之一,utf8本身也有自己的问题。

YoumuChan 发表于 2022-5-1 23:52

Jet.Black 发表于 2022-5-1 23:36
微软支持的unicode是utf16,uft8大部分情况下还要转换。

uft8只是标准之一,utf8本身也有自己的问题。


微软的unicode其实是wtf-8,因为surrogate code points可以不成对

ipcjs 发表于 2022-5-2 01:16

windaria 发表于 2022-5-1 12:47
不难,那支持中文路径有那么难吗

软件作者不一定是中国人
开发软件的时候不一定有考虑中文
解析路径的时候忘了处理空格

各种情况都有可能呀
你不想打英文,敲拼音也行呀,人是活的,软件是死的
为什么要跟个软件死杠


— from Google Pixel 6 Pro, Android 12 of S1 Next Goose v2.5.4

yzb 发表于 2022-5-2 09:27

windaria 发表于 2022-5-1 12:47
不难,那支持中文路径有那么难吗

用c写的话非常难,还得考虑是什么编码。

IG.430 发表于 2022-5-2 15:29

每次给小朋友讲怎么安装r都会遇见这个问题

劳动塑造人 发表于 2022-5-2 15:36

yst234 发表于 2022-5-2 23:10

劳动塑造人 发表于 2022-5-2 15:36
默认unicode大概会增加资源开销吧

这话你放三十年前我会信。。。

Flyfish233 发表于 2022-5-3 00:00

本帖最后由 Flyfish233 于 2022-5-3 19:40 编辑

回忆and无语 发表于 2022-4-29 22:27
我以前装的中文版Win, 装了语言包调成英文
大更新的时候就会用模糊的中文显示正在更新, 这是传说中的内核 ...

Windows 自己也知道可以调整的是“Windows 显示语言”,重在“显示”二字
早前好像用中文版注册用户,user 目录的文件夹就是中文的,比如正常的是 Desktop/, Document/,但是中文的 wim 装出来的就叫 桌面/ 文档/
试了下,确实是如此,少装精简版的系统
—— 来自 HUAWEI hi3660, Android 11上的 S1Next-鹅版 v2.5.2

abcbuzhiming 发表于 2022-5-3 00:14

abcbuzhiming 发表于 2022-5-3 00:15

luciferion 发表于 2022-5-3 04:16

Flyfish233 发表于 2022-5-3 00:00
Windows 自己也知道可以调整的是“Windows 显示语言”,重在“显示”二字
早前好像用中文版注册用 ...

没有吧,User目录只有自己会因为中文用户名变成中文的,但是下面的分类文件夹只是资源管理器显示为中文的,实际上在路径里还是英文的
页: [1] 2
查看完整版本: 软件不支持中文路径是哪里的问题