Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/02/2012, 08:15
Avatar de stramin
stramin
 
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
strtolower y mb_strtolower operan distinto en diferentes servidores

Estimados amigos de Foros del Web, estoy con un problema que me está complicando para variar...

Trabajando localmente tanto página web como BD están en UTF8

Hace un tiempo tuve un problema al intentar convertir la letra eñe a minúscula usando la funcion strtolower() lo cual me generaba este problema:

echo strtolower("Español"); // Imprime Español

Así que usé mb_strtolower() que solucionó el problema:

echo mb_strtolower("Español", 'UTF-8'); // Imprime Español

Sin embargo trabajando remotamente a pesar de que también página web y BD están en UTF8 tengo problemas con mb_strtolower():

echo mb_strtolower("Español", 'UTF-8'); // No imprime nada y detiene la ejecución

Así de simple, al llegar a una linea que tiene mb_strtolower se detiene y no hace nada mas, como si fuese un die(), sin embargo curiosamente con strtolower funciona perfectamente:

echo strtolower("Español"); // Imprime Español

Ambas versiones de PHP son 5.2.x

He probado usando function_exists() en ambos servidores en ambas funciones y ambas existen, está claro que es un problema de PHP, lo que necesito es algún "truco" para hacerlo funcionar en ambos servidores.

Espero por favor que puedan ayudarme, no pueden ser parches como str_replace(), debe ser una solución real, ya que ese campo lo ingresa el usuario y pueden ser varios idiomas, español, português y Français

Gracias a todos los que me ayuden con esto!
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D