Recientemente me he encontrado con el problema de que usando la función strtolower de php para poner todo en minúsculas, esta no me respetaba los acentos en las frases.
En algunos casos me dejaba la letra tal cual ( mÉdico) o en otras me insertaba un carácter raro ( mãdico)

La solución es tan sencilla como utilizar la función de php mb_strtolower

PHP:
  1. <?php
  2.  //Le pasamos la palabra y la codificación (si no le pasamos codificación, por defecto recoge la codificación interna)
  3.  echo mb_strtolower('MÉDICO', “UTF-8);
  4.  // médico
  5. ?>

Una solución simple para un problema que puede ser habitual y que puede ocasionar algún quebradero de cabeza :)