tiancao100 发表于 2024-4-21 11:19:04

所有汉字都变成“\M+”的形式了,是什么原因造成的,怎么还原?

编辑文字的时候,所有汉字都变成“\M+”的形式了,是什么原因造成的,怎么还原?

xugaoming23 发表于 2025-2-8 21:43:57

本帖最后由 xugaoming23 于 2025-2-9 13:35 编辑

标记一下:
这两天也遇到这个问题,资料太少,信息太少,希望在研究的有用
c# net 无法获得对应编码字符,但lisp的dxf可以获得\M+nXXXX格式,要修正只能通过lisp操作


比如我在文字里
输入\M+1EC34 显示为“”,该字符的unicode编码为\U+E801,两者相等,
输入\M+1EC35 显示为“”,该字符的unicode编码为\U+E805,两者相等,
通过复制字符和net读取都是unicode,但是dxf显示\M+1XXXX,两者到底如何完成转换?



dxf对应扩展字典会显示这个标记(AcadStringInfo (1000 . MIFCodePage) (1070 . 1))


M+nXXXX 格式为MIF编码格式即多字节编码,指CJK(中日韩)编码,(n从0~5,估计0就是系统默认代码,其他1-5指具体代码页)

static intJapanese
Codepage index 1 - Windows 932   shift_jis
static intTradChinese
Codepage index 2 - Windows 950   big5
static intKoreanWansung      
Codepage index 3 - Windows 949   ks_c_5601-1987
static intKoreanJohab
Codepage index 4 - Windows 1361   Johab
static intSimpChinese
Codepage index 5 - Windows 936   gb2312

U+XXXX格式为CIF编码,这个不用说了unicode万国编码


来源:
https://reference.aspose.com/cad/java/com.aspose.cad/MifCodePages
https://docs.aspose.com/cad/net/auto-codepage-detection/



mikewolf2k 发表于 2024-4-22 16:43:54

是很老的图纸么?依稀是2000左右的,那时候acad还不能识别不同编码的文字,要做一个代码页转换的操作。不过一旦以错误的编码规则打开保存了,这些错误编码的文字就当作政正确文字保存下来了,不可逆。现在似乎只能根据M+后面的字符编号, 反向查询这个编号对应的字符是什么,然后把正确的字符填上去。

你有种再说一遍 发表于 2024-4-21 20:45:53

这个解释起来很复杂,
你没发现cad并不会弹字符集选项吗?
经历utf8升级之后,那么dwg储存方案有没有前置签名?
那么cad要怎么转换两种编码呢?
这个字体编码会不会蔓延到霍夫曼编码上面?
不是桌子官方的话,谁知道问题出现在哪里...

wuhanwangtao 发表于 2024-4-21 11:30:43

unicode 编码不对

tiancao100 发表于 2024-4-21 12:14:37

wuhanwangtao 发表于 2024-4-21 11:30
unicode 编码不对

请教,这情况怎么修改?怎么还原?

PDCA2025 发表于 2024-4-21 13:24:07

这个估计不少人遇到,等答案

szhorse 发表于 2024-4-21 19:17:20

你是不是用什么字体替换绘图是使用的原字体了?
感觉是字体编码出现问题了

gowww 发表于 2024-4-21 20:25:00

我也有遇到,不知道咋解:lol

tiancao100 发表于 2024-4-21 23:37:40

https://wenku.baidu.com/view/f8214d0a1a2e453610661ed9ad51f01dc281577f.html?_wkts_=1713710122274

看到这篇文章,可惜我不懂lisp,

szhorse 发表于 2024-4-22 14:44:42

tiancao100 发表于 2024-4-21 23:37
https://wenku.baidu.com/view/f8214d0a1a2e453610661ed9ad51f01dc281577f.html?_wkts_=1713710122274

...

文件发一个,用这个lsp测试一下啊
页: [1] 2
查看完整版本: 所有汉字都变成“\M+”的形式了,是什么原因造成的,怎么还原?