Why does the word colonel (as in military rank) have such a strange spelling compared to how it's pronounced (or vice versa, although I don't know how you would pronounce that)?
It comes from Italian military manuals, and the English spelling preserves the Italian form, colonnello. Two pronunciations coexisted; the r prevailed in English. Spanish took both the spelling and pronunciation: coronel.
As reported from the NOAD:
ORIGIN middle 16th Century: from obsolete French coronel (earlier form of colonel), from Italian colonnello (column of soldiers) from colonna (column) from Latin columna. The form coronel, source of the modern pronunciation, was usual until the middle 17th Century.
The word is pronounced in a strange way because it kept the old pronunciation, while the word changed spelling.