采取以下脚本:
use strict;
use warnings;
use feature 'say';
my $utf8 = "العربي";
open my $out,">","out.txt";
say {$out} "utf8 with text foo".$utf8;
say {$out} "utf8 with number 123".$utf8;
我不明白文本的方向性会发生什么。在Notepad ++中,数字出现在阿拉伯语文本的右侧,而文本出现在左侧。当我尝试将其粘贴到此文本字段时,它左边是数字。
有人可以解释发生了什么吗?
答案 0 :(得分:2)
这是由于Notepad ++中对RTL的不良支持造成的。正确的顺序是:
utf8 with text fooالعربي
utf8 with number 123العربي
Notepad ++可能认为数字在阿拉伯字符串中,因此它激活了RTL并从右侧开始写入。这应该是提交的错误。
解决方法是使用LTR / RTL字符