74

Hi I am trying to convert some log files from a Microsoft SQL server, but the files are encoded using UTf-16LE and iconv does not seem to be able to convert them.

I am doing:

iconv -f UTF-16LE -t UTF-8 <filename> 

I also tried to delete any carriage returns from the end of the line if there are any, but that did not fix it either. If I save it using gedit that works, but this is not a viable solution since I have hundreds of those files.

EDIT: Please see the new answer for the missing option

0

2 Answers 2

73

I forgot the -o switch!

The final command is :

iconv -f UTF-16LE -t UTF-8 <filename> -o <new-filename> 
Sign up to request clarification or add additional context in comments.

1 Comment

iconv on macOS does not have the -o switch. This option is probably some POSIX extension.
36

The command you specified will output to stdout. You can either use the -o parameter, or redirect your output:

with -o:

iconv -f UTF-16LE -t UTF-8 infile -o outfile 

with piping:

iconv -f UTF-16LE -t UTF-8 infile > outfile 

Both will yield the desired result.

However some versions of iconv (v1 on macOS for example) do not support the -o parameter and you will see that the converted text is echoed to stdout. In that case, use the piping option.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.