[Tex/LaTex] “inputenc Error: Unicode char \u8” error while trying to write a degree symbol (invisible character)

symbolsunicode

No matter how I try to do it I always get the following error :

! Package inputenc Error: Unicode char \u8:­ not set up for use with LaTeX.

I have tried using ­­­$^{\circ}$, \deg, \textdegree, pasting the ° symbol directly, to no avail.

Here is the header of my document, in case one of those could be causing the errors :

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[francais]{babel}
%\FrenchItemizeSpacingfalse
\frenchbsetup{CompactItemize=false}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amsthm}

Best Answer

If you're getting literally that error—with no visible character after the \u8:—then what's probably happening is that you have some sort of invisible or space unicode character in your document. For instance, on my Mac, if I hit option-space, I get a non-breaking space, which gives an error that looks like that. You also might have some other character; a zero-width breakable space, for instance. If you copied and pasted your error, looking at the source of this page indicates that you might have a soft hyphen in your source (Unicode character 0xAD, representing a valid hyphenation point but not typeset unless there's a word-break). Thus, find the line it's occurring on, and comb through that line until you find it. Retype it if necessary, but a good editor should let you find it. Once you delete it, then your first three methods should work.

When I use your header (commenting out \frechbsetup, which doesn't seem to exist, and using \documentclass{article}), $^{\circ}$ renders as a largeish circle in the superscript position, $\deg$ renders as the upright text "deg", and \textdegree renders as a smaller circle. A literal ° doesn't work by default. To make it work, you can use \DeclareUnicodeCharacter{B0}{\textdegree}. This tells inputenc to treat the Unicode character 0xB0, the °, as though it were \textdegree, which is what you want. You could also use this to see if your problem is the soft hyphen; insert \DeclareUnicodeCharacter{AD}{\Huge [ICI]} to get the text [ICI] rendered into your document in huge letters wherever there's a soft hyphen. (Of course, if there's some other invisible character, you'll just get the error.)

Also, although I've never used it, you could try using XeLaTeX instead of PDFLaTeX; it has full UTF-8 support out of the box.

Related Question