Файл FTP ASCII из Windows в мэйнфрейм (iSeries) - специальные символы

2482

У меня есть текстовый файл, созданный на компьютере с Windows, кодировка страницы, используемая для файла 1252

Затем этот файл передается по FTP на компьютер iSeries для обработки

Насколько я вижу, он появляется на iSeries. Он имеет CCSID 037.

Иногда этот файл содержит французские символы (например, é). Когда это произойдет, FTP потерпит неудачу с ошибкой усечения, поскольку французский символ преобразуется в дополнительный мусор: ½.

Файл является фиксированным блоком, поэтому строка усекается из-за того, что один символ превращается в 3.

Я могу конвертировать французские символы в символы без акцентов перед отправкой, но предпочел бы сохранить все в целости и сохранности. Так есть ли способ сохранить их и отправить файл должным образом?

Я очень зеленый на iSeries, в основном парень из Windows.

2
Попробуйте установить для CCSID значение 500 (см .: [CCSID iSeries] (http://www-03.ibm.com/systems/i/software/globalization/default_list.html)). 12 лет назад 0
Спасибо, я изменил CCSID на 500 и тот же результат. Как ни странно, я только что обнаружил, что наша производственная среда уже была 500, но в тесте это было 37 по какой-то причине, и сейчас 500, и не повезло 12 лет назад 0
Как насчет преобразования файла в UTF-8 и отправки его в двоичном виде? neu242 12 лет назад 0

1 ответ на вопрос

0
JoeZitzelberger

Вы имеете дело с тем, что Windows-1252 обычно претендует на то, чтобы быть ISO-8859-1 Latin-1, но на самом деле это не так. Существует небольшой раздел - примерно шестнадцать кодовых точек или около того - который Microsoft решила использовать для символов, таких как типографские кавычки (или «умные цитаты»).

Я думаю, что ваше программное обеспечение для передачи (по конфигурации или по решению разработчика) предполагает, что Win-1252 соответствует ISO-8859-1. Исправьте это (если возможно), и вы решите проблему.

Кстати, акцентированный E находится в плоскости кода проблемы ... извините, я не упомянул об этом в первоначальном ответе. JoeZitzelberger 12 лет назад 0