当我从其他远程服务器ssh进入时,为什么这个Unicode字符会被错误处理?


0

通常,我从运行OpenSUSE的工作计算机进入计算集群,然后将bash脚本提交给运行R程序的秃鹰排队系统。

当我从运行Putty的Windows 10笔记本电脑插入SSH并执行完全相同的操作时,结果会略有不同。特别是,我使用R制作了一个使用太阳符号(“☉”)的绘图,当从我的工作计算机上推入该符号时效果很好,但是<U+0298>从我的笔记本电脑中推入时该符号效果为“ ”。

为什么?我什至不明白这怎么可能。


1
您粘贴到问题中的“太阳能符号”是Unicode代码点U + 2609,“ SUN”。笔记本电脑(U + 0298)上显示的Unicode代码点是IPA扩展名(国际语音字母)中类似的圆点字形,即“拉丁字母生物学点击”。您确定R生成的图使用U + 2609吗?创建R程序时是否有可能不小心选择了U + 0298?也许这里唯一的问题是您的笔记本电脑的终端仿真器未配置为Unicode,或者无法访问包含IPA字符的后备字体。
Spiff 2015年

R程序确实使用'\ u0298'来创建太阳能符号。但是,我不明白为什么我的终端编辑器应该与此有关?脚本被提交到一个可以远程运行代码的排队系统。我在笔记本电脑上所做的只是“ condor_submit run_r_script.job”,这导致“ Rscript script.R”在远程计算群集上运行。(我将尝试重新配置终端编辑器以解决此特定问题,但我也想从中学习经验。)
rhombidodecahedron

我说的是模拟器(如PuTTY),而不是编辑器(如vim);显着差异。此外,该图是创建图像文件还是通过终端字符绘制?我假设它是在终端中绘制的,这将说明Windows和PuTTY如何使用不同的Unicode引擎和默认字体,并且可能找不到U + 0298的字形,而您的OpenSUSE Linux系统具有完全不同的Unicode引擎,已安装的字体集,终端仿真器等,因此它可能能够找到U + 0298的字形。
Spiff

它使用开罗创建了pdf文件
rhombidodecahedron

Answers:


1

您可能要检查每个ssh会话中LANG环境变量的设置。我发现,如果未将LANG设置为“ en_US.UTF-8”,那么我的绘图中将显示“ ..”,而不是我想要的希腊mu符号。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.