以下JS对象包含希伯来语字符串:
{ stationId: 359,
location: { lat: 32.0732, lon: 34.7859, address: 'קפלן פינת ארניה' },
bikes: { availableBikes: 12, availableParkingSlots: 16 } },
{ stationId: 116,
location: { lat: 32.1022, lon: 34.7854, address: 'שי עגנון 59' },
bikes: { availableBikes: 5, availableParkingSlots: 13 } },
{ stationId: 314,
location: { lat: 32.0917, lon: 34.7826, address: 'נורדאו 101בשדרה' },
bikes: { availableBikes: 9, availableParkingSlots: 10 } },
但是,当对象打印到shell(iTerm2
并带有zsh
)时,希伯来字符串显示为LTR(第一个字母位于字符串的左侧,而不是正确的右手边。)
请注意,只需反转字符串就无法解决此问题,因为它也会反转出现LTR的数字和英文单词。
如何在nodejs中正确地将希伯来语RTL字符串打印到shell?
答案 0 :(得分:1)
问题在于iTerm2,而不是node.js. iTerm2不能正确支持RTL。见https://gitlab.com/gnachman/iterm2/issues/1611。
使用标准Mac OS X终端应正确显示文本。