¡He encontrado la solución!
Realmente soy estúpido. El problema estaba en la definición de $etiquetas1, ya que la realizaba del siguiente modo:
Código PHP:
$etiquetas = htmlentities($row["etiquetas"]);
$etiquetas1 = explode(", ",$etiquetas);
$etiquetas = ucwords($etiquetas, ", ");
Básicamente, el problema era que al aplicar el htmlentities, cambiaba los acentos por los códigos html (á y demás). La solución, muy simple:
Código PHP:
$etiquetas1 = explode(", ",$row["etiquetas"]);
$etiquetas = ucwords(htmlentities($row["etiquetas"]),", ");
Muchas gracias a los que me habéis intentado ayudar, realmente no podíais darme la solución porque no posteé la parte del código en la que definía el array. Realmente un fallo de principiante.