La colación no tiene nada que ver con el almacenamiento. Debe configurar el conjunto de caracteres para determinar la codificación de almacenamiento. La intercalación rige cómo deben ocurrir la comparación y la clasificación. La intercalación debe tener en cuenta el juego de caracteres, pero de lo contrario no tiene nada que ver con el juego de caracteres.
Para responder a su pregunta, puede usar iconv
para transcribir el texto y luego compararlo. Por ejemplo:
function compare($s1, $s2) {
return strcmp(
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s1),
iconv('UTF-8', 'ISO-8859-1//TRANSLIT', $s2));
}
Esto es básicamente lo que MySql hará por usted, aunque probablemente sea más rápido y puede tener una tabla de clasificación ligeramente diferente a ISO-8859-1//TRANSLIT
. No estoy completamente seguro de eso.
Sin embargo, probablemente sería más fácil usar la base de datos, como ya han sugerido otros.