Autor
|
Tema: problema con la ñ (Leído 1,933 veces)
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
como puedo hacer funcionar la maldita ñ, he leido multitud de manuales y no me va, tampoco en el hosting que tengo asi que es problema de algo pero nose, me salen interrogantes y sino otros simbolos desconocidos nunca las ñ. alguna solucion coherente¿¿? muchas gracias de antemano <?php
$str = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz1234567890";
$cad = ""; for($i=0;$i<12;$i++) { $cad .= substr($str,rand(0,62),1); }
print $cad; ?>
|
|
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
#!drvy
|
Siempre que uses funciones que manejan caracteres "extraños", intenta utilizar un encoding UTF-8. $str = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZabcdefghijklmnñopqrstuvwxyz1234567890"; $cad = ""; for($i=0;$i<12;$i++) { } echo $cad; ?>
PD: Si solo vas a mostrar un texto, utiliza ECHO en vez de PRINT. PRINT es algo mas lento que ECHO porque admite funciones y otros parámetros. No merece la pena utilizarlo si solo vas a mostrar texto. Saludos
|
|
|
En línea
|
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
ok gracias brother y para otros casos que harias? no seria mejor setlocale(LC_ALL, "es_ES.utf8");? aunque no me funciona lo digo para codear una web entera y no tenga que ir mirando funcion x funcion y cambiando lo del utf-8 en cada paso¿?
|
|
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
#!drvy
|
Según se, caracteres como la Ñ o Ç son multibytes. Por defecto, funciones como substr no manejan caracteres multibyte y por eso falla. Por tanto, según se, la única solución es añadir mb_ delante para que puedan manejar dichos caracteres. Puedes facilitarte la tarea declarando al principio del php
Pero tendras que cambiar todas las funciones que manejan string a mb_. http://www.php.net/manual/en/ref.mbstring.phpSaludos
|
|
|
En línea
|
|
|
|
tecasoft
Desconectado
Mensajes: 319
Ciberseguridad tecasoft.com
|
aqui no me funciona el mb_'etc' deberia saltar el "echo" pero me salta "Contiene caracteres no permitidos" e estado googleando y encontrado poca informacion al respecto, podria ser del php.ini en concreto en "mbstring"¿?: <?php mb_internal_encoding("UTF-8"); session_start();
if(!isset($_SESSION['usuario1'])) {
$usuario=$_POST['usuario']; $pass=$_POST['contrasena'];
if (strlen($usuario)<8 || strlen($usuario)>15) { echo "El usuario esta entre 8 y 15 caracteres<br>"; return false; }
if (strlen($pass)<8 || strlen($pass)>15) { echo "La contraseña esta entre 8 y 15 caracteres<br>"; return false; }
//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789-_@#"; for ($i=0; $i< mb_strlen($usuario,'UTF-8'); $i++){ if (mb_strpos($validos, mb_substr($usuario,$i,1,'UTF-8'),'','UTF-8')===false){ echo " Contiene caracteres no permitidos<br>"; return false; } } echo $usuario;
?>
|
|
« Última modificación: 24 Febrero 2013, 01:20 am por tecasoft »
|
En línea
|
http://www.tecasoft.com Un ninja del hacking etico, programacion en html5, css3, javascript, jquery, php, python, c/c++, ensamblador, ingenieria reversa,a auditorias de seguridad, pentesting, exploits
|
|
|
|
|