# How to insert code with accents with listings?

I'm trying to insert source code in LaTeX with using listings, but my code has accents and pdflatex gives me this error:

Unicode char \u8:�\expandafter not set up for use with LaTeX.


This is a code the reproduces the error.

## example.tex

\documentclass{article}
\usepackage{listings}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}

\begin{document}

\lstinputlisting[language=C++]{code.cpp}

\end{document}


## code.cpp

// Código con una tilde


What can I do to generate the PDF correctly?

-

You can load the package listingsutf8 and then set the encoding using \lstset{inputencoding=utf8/latin1}:

\documentclass{article}

\usepackage{listingsutf8}
\usepackage[spanish]{babel}

\begin{document}

\lstset{inputencoding=utf8/latin1}
\lstinputlisting[language=C++]{code.cpp}

\end{document}

-
Thanks for your answer. With the second method the ó is not in its right place, but the first method works perfectly!. –  kevinz Oct 5 '11 at 5:06
You're right, I didn't notice the slight misalignment. I've removed the second method. –  Jake Oct 5 '11 at 5:08
the accpeted solution doesn´t work for me. –  Mika Ike Jun 21 '14 at 9:44

The accepted solution didn't work for me, so here is mine:

\usepackage{listings} % ordinary listings package


and then configure letter mappings - these mappings are for the Czech languaguge but you can configure your own

\lstset{
literate=%
{á}{{\'a}}1
{í}{{\'i}}1
{é}{{\'e}}1
{ý}{{\'y}}1
{ú}{{\'u}}1
{ó}{{\'o}}1
{ě}{{\v{e}}}1
{š}{{\v{s}}}1
{č}{{\v{c}}}1
{ř}{{\v{r}}}1
{ž}{{\v{z}}}1
{ď}{{\v{d}}}1
{ť}{{\v{t}}}1
{ň}{{\v{n}}}1
{ů}{{\r{u}}}1
{Á}{{\'A}}1
{Í}{{\'I}}1
{É}{{\'E}}1
{Ý}{{\'Y}}1
{Ú}{{\'U}}1
{Ó}{{\'O}}1
{Ě}{{\v{E}}}1
{Š}{{\v{S}}}1
{Č}{{\v{C}}}1
{Ř}{{\v{R}}}1
{Ž}{{\v{Z}}}1
{Ď}{{\v{D}}}1
{Ť}{{\v{T}}}1
{Ň}{{\v{N}}}1
{Ů}{{\r{U}}}1
}

-
Thnak you, I was in your case. The accepted solution doesn´t works for me, and your solutions has solved my problem in spanish. –  Mika Ike Jun 21 '14 at 9:46