Unicode从右到左的文本

时间:2015-11-25 17:38:20

标签: perl unicode arabic

采取以下脚本:

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 ++中,数字出现在阿拉伯语文本的右侧,而文本出现在左侧。当我尝试将其粘贴到此文本字段时,它左边是数字。

有人可以解释发生了什么吗?

1 个答案:

答案 0 :(得分:2)

这是由于Notepad ++中对RTL的不良支持造成的。正确的顺序是:

utf8 with text fooالعربي
utf8 with number 123العربي

Notepad ++可能认为数字在阿拉伯字符串中,因此它激活了RTL并从右侧开始写入。这应该是提交的错误。

解决方法是使用LTR / RTL字符