Этот вопрос аналогичен другим, которые были опубликованы ранее. однако попытка всех комбинаций ничего не работает.Установка спецификации на Unicode U-код UTF8 perl
Мне нужно, чтобы мой файл Excel чтения в Unicode UTF8, я пытаюсь установить мой бом:
my $csv = Text::CSV->new ({binary=>1, eol =>$/}) or die "cannot use CSV: ".Text::CSV->error_diag(); open my $csvFile, ">:encoding(UTF-8)", "teht.csv" or die "teht.csv: $!"; print($csvFile "\x{FEBBBF}");
однако это получает errror и говорит, что «0xFEBBBF не Unicode ...»
вся информация, которую я нашел, указывает, что код для utf8 должен читать print($csvFile "\N{U+FEBBBF}")
или ... "\xFE\xBB\xBF"
или аналогичный.
Is it possible to force Excel recognize UTF-8 CSV files automatically? - один источник, который говорит это много раз.
https://stackoverflow.com/a/22711105/6557829 - еще один источник.
До сих пор я действительно мог заставить UTF-16 работать с тем же заявлением печати: print($csvFile "\N{U+FEFF}");
однако это больше пространства, чем я хотел бы использовать. Заранее благодарим за любую помощь, которую вы можете мне дать.
Спецификация U + FEFF, а не U + FEBBBF. – ikegami
@ikegami U + FEFF - это код для utf16 не для utf8 –
U + FEFF означает «Unicode Code Point FEFF», и он не имеет ничего общего с UTF-8 или UTF-16. – ikegami