PHP :: Problemas de strtoupper con acentos, ñ, diéresis, etc.

texto extraído de: http://blog.controlzeta.net/?p=427

Si en PHP queremos pasar un String con acentos, diéresis o diferentes letras de codificación UTF-8 a mayúsculas, directamente no podemos utilizar:

$var = strtoupper($valor);

ya que transformará a mayúsculas únicamente las letras del abecedario simple (sin contar ñ ni ç).

 

La forma correcta de cubrir todos los casos es:

$var =   mb_strtoupper($valor,'utf-8');