问题描述:

在中望CAD运行LISP程序过程中,可能会遇到程序输出的命令行提示或对话框中的文字显示为乱码,或者是使用strlen函数计算字符串长度时结果不正确。


原因分析

原因是中望CAD2025版本之前LISP模块只支持Ansi编码,而当lsp文件的编码是UTF8等编码时就会出现乱码的情况。

此外同时LISP模块只支持Ansi编码也会导致strlen计算字符串长度的结果不符合预期,比如(strlen "文字")的结果应该是2,但实际会返回4。


解决方案:

方法一:

可以把lsp文件保存为Ansi编码。不过这个方法只能解决乱码的问题,无法解决strlen的问题。

方法二:

如果使用的是中望CAD 2025及之后的版本,可以把系统变量 LispSys 设为1,然后重启中望CAD,即可解决乱码和strlen的问题。


英文空间链接


★中望CAD中Lisp程序输出的文字为乱码,或者用strlen函数计算文字长度不正确,是什么原因?https://confluence.zwcad.com/pages/viewpage.action?pageId=262603573

  • No labels