Vous n'avez pas à réinventer le pneu crevé (réinventer la roue) ici.
Il existe deux classements en espagnol dans MySQL :
utf8_spanish_ci (espagnol moderne) et utf8_spanish2_ci (espagnol traditionnel)
Ceux-ci connaissent assez bien la langue pour savoir que N et n doivent être rassemblés, mais que Ñ et ñ sont des lettres différentes entre N et O. En espagnol, le Ñ est en fait une lettre différente, pas un accent.
Définissez votre classement de colonne sur utf8_spanish_ci et tout fonctionnera comme vous le souhaitez.