jrvd has asked for the wisdom of the Perl Monks concerning the following question:
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
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: UTF 16 encoding problems
by Jim (Curate) on Jul 06, 2013 at 01:18 UTC |