Allora sicuramente stai commettendo un errore: non puoi dire nello header xml che usi UTF-8 e poi dire nel meta che usi la codepage europea...

Devono essere coerenti, o entrambi utf, o entrambi europei...

Poi, comunque, se un html non si valida, non puoi mai essere sicuro di quale sia la causa dei difetti...

Hai provato ad estrapolare il solo menu di link in un altro file con un CSS ridotto all'osso per vedere se fa così comunque?