我有简单的代码:
exten => p111,1, NoOp(********** test unicode char ************);
same => n,Answer();
same => n,Set(myVariable="امین رستمی")
same => n,NoOp(******** #2 ${myVariable}***************);
same => n,Hangup();
当我用unicode字符设置
myVariable
时,它显示为???? ?????
。
如何解决这个问题?
我使用
caller-id
的值(带有 agi
)从数据库中读取联系人姓名,并在 caller-id-name
中设置该值,但在输出 ????
中显示。
但是当我使用
phonebook
星号时,它会正确显示 unicode value
。
变量初始化有什么区别?
星号与来电显示名称无关。是的,星号不太可能支持 UTF-8。但有些设备甚至在 10 年前就支持 UTF-8。
应仅在最终用户设备上启用对字符集的支持。 Asterisk 不关心 callerid 在 ASCII 中是否不可读。
我不能说阿拉伯语,但有一些设备支持俄语。
你的电话簿是网络的,它只知道如何使用UTF-8。你的手机没有。这就是区别。