Hello monks!
Edit: I found the solution. I needed to use '>:raw:encoding(UTF-16)' ;)
So I am building a text file that will be imported with a bulk insert into SQL Server. However, since I am using french langage characters, I need the file to be encoded in UTF-16.
Here is what I am doing (this isn't the entire code, just the relevant parts):
my $fileDest = "hostsfile_modified.txt"; die "Problème de création du fichier $fileDest" unless open(my $fd, '> +:encoding(UTF-16)', $fileDest); my $line = ""; #I build my $line... print $fd $line."\n"; close $fd;
Once this is done however, my output document looks something like this:
10.10.10.70;VL-CX-RP002;RP;CX;SRIP-R;Internet (TPIA)
⸀㔀㐀⸀㈀⸀㐀㬀嘀䰀ⴀ儀䈀䌀刀ⴀ匀圀 㬀匀圀㬀儀䈀䌀刀㬀匀刀䤀倀ⴀ刀㬀嘀匀䐀⼀匀䐀嘀ഊ10.154.10.53;VL-VTTV-SW001;SW;VTTV;SRIP-R;VSD/SDV
⸀ ⸀㈀㐀⸀㤀㜀㬀嘀䰀ⴀ䴀匀ⴀ䔀儀 ㌀㬀䔀儀㬀䴀匀㬀匀刀䤀倀ⴀ䄀㬀ഊ10.10.20.52;VL-MS-EQ033;EQ;MS;SRIP-A;
⸀ ⸀㈀㐀⸀㤀㠀㬀嘀䰀ⴀ䴀匀ⴀ䔀儀㌀㬀䔀儀㬀䴀匀㬀匀刀䤀倀ⴀ䄀㬀ഊ10.10.20.53;VL-MS-EQ133;EQ;MS;SRIP-A;
...
I realize that the problem seems to be the new line character however I am not sure what the solution is. Thanks for your help!
jrvd
In reply to UTF 16 encoding problems by jrvd
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |