Проблема Конвертация текста из Win1251 в UTF8 и обратно

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 983
611
BIT
453
Если файл сохранить в UTF-8, то на MacOs и Linux будет одинаково, на счёт Windows не уверен, хотя на всех современных версиях с UFT-8 проблем нет. Я думаю если сделать специальную функцию чтения в UTF-8, то проблем не должно быт нигде, но и файл не забыть сохранить в правильной кодировке.
а в нотусе - есть и консоль в 866
вона в ноде изголялся
JavaScript:
child.stdout.on('data', (data) => {
    const body = new Buffer(data, 'binary');
    data = iconv.encode(iconv.decode(data, 'cp866'), 'utf8');
    console.log(`stdout:\n${data}`);
});
 

VladSh

начинающий
Lotus Team
11.12.2009
1 797
158
BIT
232
Да, в файле, и переносить в базу проблемматично, так как библиотеку используют более десятка баз. Это библиотека сообщений об ошибках и туда записаны тексты, выдаваемые пользователю при ошибке программы или его действий. Как понимаете, этого текста много и переносить в каждую базу эти тексты долгая процедура.
Проблема мне кажется надуманной. Эта библиотека ничем не отличается от других библиотек в дизайне баз.
Можно (и нужно, так все делают) создать библиотеку и перенести в неё содержимое lss, а потом рапространить эту библиотеку по всем базам. Вы всё равно будете делать изменения во всех этих базах, пытаясь впилить туда код этой конвертации. Так что лучше один раз сделать эту работу и забыть навсегда об этой проблеме.
И вот как раз будет полезно не добавлять код конвертации, так как кракозяюры будут выявлять те базы, в которые вы ещё не добавили новую библиотеку с константами.
 

garrick

Lotus Team
26.10.2009
1 367
152
BIT
348
Можно (и нужно, так все делают) создать библиотеку и перенести в неё содержимое lss...
И если вы боитесь, что в случае изменений вам придётся исправлять сто библиотек в разных базах, то это легко решается механизмом наследования элементов дизайна из шаблонов, править надо будет только в шаблоне и изменения автоматом разойдутся по всем базам.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!