RTL(阿拉伯语)错放加上在python中唱到电话号码的末尾
我有一个阿拉伯语短信模板,上面有客户支持号码的占位符,并将占位符替换为实际电话号码(例如+987654400)。替换时,加号(+)放错了数字末尾,如987654400+ 示例代码:RTL(阿拉伯语)错放加上在python中唱到电话号码的末尾,python,arabic,right-to-left,arabic-support,Python,Arabic,Right To Left,Arabic Support,我有一个阿拉伯语短信模板,上面有客户支持号码的占位符,并将占位符替换为实际电话号码(例如+987654400)。替换时,加号(+)放错了数字末尾,如987654400+ 示例代码: >>> >>> s = '{customer_number} فتش' >>> print s.replace('{customer_number}', '+987654400') 987654400+ فتش >>> print '+9876
>>>
>>> s = '{customer_number} فتش'
>>> print s.replace('{customer_number}', '+987654400')
987654400+ فتش
>>> print '+987654400'.join(s.split('{customer_number}'))
987654400+ فتش
>>>
>>> s = u'{customer_number} فتش'
>>> print s.replace('{customer_number}', '+987654400')
987654400+ فتش
>>> print '+987654400'.join(s.split('{customer_number}'))
987654400+ فتش
Python版本2.7.6、2.7.10OS:OSX 10.11.14
地点:英语 --
这不仅仅发生在终端上,首先我在API响应中注意到了这个问题,它有以下配置 Ubuntu 14.04.2 LTS python 2.7.6
django 1.7.6
django tastypie 0.12.1 系统区域设置:英语
django项目语言环境:英语不知何故,Osx
终端
正在用字符串变魔术。如果打印到文件,它将输出正确的字符串
终端中的python:
打印到文件:
文件内容:
问题确实出在终端上,因为如果我们这样做,我们会看到字符串的内容是正确的:
如果我们用拉丁字符填充它,它就不是做时髦的rtl的东西:
简历:
Osx和Windows终端具有rtl支持,可以使字符串混乱。python中字符串的内容是正常的,但是被操作系统破坏了。Ubuntu没有这个问题,因为那里的终端没有内置rtl支持。您使用的是什么python版本?2.7.3工作正常。@Ricky python 2.7.6版,您的操作系统和语言环境是什么(阿拉伯语?)您刚更改了姓名吗?@RickyA用请求的信息更新了问题。是的,我刚换了名字;)这不仅仅是终端的问题,实际上它是连接在我的API响应中的,它具有以下配置python 2.7.6、django 1.7.6、django tastypie 0.12.1yey,很难判断出哪里出了问题,但可能你只会在显示东西的最后出现问题,数据库中的数据是否正确。是的,模板中的数据都是正确的,这很好,那么您只有一个显示问题:)是的,当然,但是当返回响应时,它会显示wired,并且还会写入日志:(