Sounds like it, the webserver can't handle the accents in the direct URL but is happy to convert the HTML character code into the accented letter and then find the page.
Try changing the doctype. At the moment you have
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
try
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//ES"
"http://www.w3.org/TR/html4/loose.dtd">
If that doesnt work then change the doctpye to xhtml and specify the language in the html tag
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
Obviously only use that for the pages with Spanish content and/or links