utf 8 - Is there a Linux command to file out if a file is UTF-8?

07
2014-07
  • Edward

    The Joomla .ini files require to be saved as UTF-8. After editing I'm not sure if the files are UTF-8 or not. Is there a linux command like 'file' or a few commands that would tell if a file is indeed UTF-8 or not? Thanks!

  • Answers
  • Rik

    You can determine the file encoding with the following command:

    file -bi filename
    

  • Related Question

    linux - How can I convert multiple files to UTF-8 encoding using *nix command line tools?
  • jason

    Possible Duplicate:
    Batch-convert files for encoding or line ending

    I have a bunch of text files that I'd like to convert from any given charset to UTF-8 encoding.

    Are there any command line tools or Perl (or language of your choice) one liners I can use to do this en masse?


  • Related Answers
  • grawity

    iconv does convert between many character encodings. So adding a little bash magic and we can write

    for file in *.txt; do
        iconv -f ascii -t utf-8 "$file" -o "${file%.txt}.utf8.txt"
    done
    

    This will run iconv -f ascii -t utf-8 to every file ending in .txt, sending the recoded file to a file with the same name but ending in .utf8.txt instead of .txt.

    It's not as if this would actually do anything to your files (because ASCII is a subset of UTF-8), but to answer your question about how to convert between encodings.