I’m trying to enter some UTF-8 characters into a LaTeX file in TextMate (which says its default encoding is UTF-8), but LaTeX doesn’t seem to understand them. Running cat my_file.tex
shows the characters properly in Terminal. Running ls -al
shows something I’ve never seen before: an “@” by the file listing:
-rw-r--r--@ 1 me users 2021 Feb 11 18:05 my_file.tex
(And, yes, I’m using \usepackage[utf8]{inputenc}
in the LaTeX.)
I’ve found iconv
, but that doesn’t seem to be able to tell me what the encoding is — it’ll only convert once I figure it out.
Solution:
The @
means that the file has extended file attributes associated with it. You can query them using the getxattr()
function.
There’s no definite way to detect the encoding of a file. Read this answer, it explains why.
There’s a command line tool, enca, that attempts to guess the encoding. You might want to check it out.