該問題與之前發佈的其他問題類似。然而嘗試所有的組合都沒有用。將BOM設置爲Unicode U碼UTF8 perl
我需要讓我的excel文件中的Unicode UTF8讀,我試圖把我的BOM:
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不統一......」
我找到的所有信息表明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}");
但是,這是比我的意思使用更多的空間。 在此先感謝您提供的任何幫助。
BOM是U + FEFF,而不是U + FEBBBF。 – ikegami
@ikegami U + FEFF是utf16的代碼,不適用於utf8 –
U + FEFF的意思是「Unicode代碼點FEFF」,它與UTF-8或UTF-16無關。 – ikegami