This input file typesets with no errors, and the PDF is what I wanted, with the three characters:
\documentclass{article}
\usepackage[T5,TS1,T1]{fontenc} % 3 of lmodern's 8 encodings
\usepackage{lmodern}
\usepackage[utf8]{inputenc}
\begin{document}
%Font encoding now is T1, the default set by fontenc above
£ % lmodern character, in T1 encoding
\fontencoding{T5}\selectfont
ỉ % lmodern character (ihookabove), in T5 encoding
\fontencoding{TS1}\selectfont
€ % lmodern character, in TS1 encoding
\end{document}
But that was work for me, because I had to look up in the documentation what encoding each lmodern character was in, then specify that encoding with \fontencoding {}.
Why doesn't LaTeX look up and set a suitable encoding itself, rather than just giving an error if the character is not in the current encoding? Is there a way that LaTeX can be made to look up the encoding ?
Replacing 
fontspecpackage removes these problems (andlmodernis the default font). – Andrew Swann Jul 27 '13 at 09:29\documentclass{article}\usepackage{fontspec}\begin{document}€£ỉ\end{document}– Fran Jul 27 '13 at 09:53T1you should always loadtextcomp, too. – Javier Bezos Jul 27 '13 at 11:20