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.
Three examples, from here:
\def\bitcoinA{%
\leavevmode
\vtop{\offinterlineskip %\bfseries
\setbox0=\hbox{B}%
\setbox2=\hbox to\wd0{\hfil\hskip-.03em
\vrule height .3ex width .15ex\hskip .08em
\vrule height .3ex width .15ex\hfil}
\vbox{\copy2\box0}\box2}}
and
\def\bitcoinB{\leavevmode
{\setbox0=\hbox{\textsf{B}}%
\dimen0\ht0 \advance\dimen0 0.2ex
\ooalign{\hfil \box0\hfil\cr
\hfil\vrule height \dimen0 depth.2ex\hfil\cr
}%
}%
}
and
\def\bitcoinC{\leavevmode\rlap{\hskip.5pt-}B}

Best Answer
Very simple, use
\
before the%
: