2015-05-01 6 views
0

У меня возникла проблема с созданием правильного пути, объединив имя папки в арабском языке с английским именем папки, функция concatenate работает нормально, если я печатаю путь, используя document.write (путь), которые показывают правильный путь, но если я передаю его fso.CopyFile(..) У меня возникло исключение из-за неправильного пути.Создайте правильный путь, объединив LTR с RTL-строками

function wrap_dir(dir, str) { 
if (dir === 'rtl') return '\u202B' + str + '\u202C'; 
return '\u202A' + str + '\u202C'; 
} 

function Copy(){ 

var a = 'english' 
var b = 'أ.ب-000082-13' 
var c = '000004-ر خ-2014.xml' 
var strPath = wrap_dir('ltr', '\\\\') + wrap_dir('ltr', a) + wrap_dir('ltr', '\\') + wrap_dir('rtl', b) + wrap_dir('ltr', '\\') + wrap_dir('ltr', c); 
// "‪english‬‪\‬‫أ.ب-000082-13‬‪\‬‪000004-ر خ-2014.xml‬" 

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
fso.CopyFile(strPath, to, 1); 
} 

Переменной strPath является "\\ английского \ أ.ب-000082-13 \ 000004-ر خ -2014. XML", который является правильным путем. Чтобы убедиться, что путь правильный, я прошел этот путь как жесткий код до fso.CopyFile, и он отлично работал.

ответ

0

Нельзя вставлять эти управляющие символы RLE (U + 202B) LRE (U + 202A) PDF (U + 202C).

+0

Эти символы зарезервированы? есть ли какая-то ссылка на это? – aorfevre

+0

Если я не вставлял символы управления RLE (U + 202B) LRE (U + 202A) PDF (U + 202C), то порядок пути отображается беспорядочно http://stackoverflow.com/questions/29988144/concat-rtl-string-with -ltr-строка-в-JavaScript – user2638062