Foro

[SOLUCIONADO]El text del tree panel

0
Hola mi problema es el siguiente, a la hora de desplegar un treepanel con los archivos que tengo en el servidor , el text solo lo pone bien si no contiene ni tildes ni ñ , si contiene alguna solo lo pone hasta la letra antes de la tilde o la ñ, quisiera saber como poder poner el nombre completo, cualquier ayuda seria buena Gracias en el phph pongo esto: setlocale(LC_ALL, "es_ES@euro", "es_ES", "esp"); $root = 'files/'; $node = isset($_REQUEST['node'])?$_REQUEST['node']:""; if(strpos($node, '..') !== false){ die('Nice try buddy.'); } $nodes = array(); $d = dir($root.$node); while($f = $d->read()){ if($f == '.' || $f == '..' || substr($f, 0, 1) == '.')continue; if(is_dir($root.$node.'/'.$f)){ array_push($nodes,array("text"=> $f, "id"=>$node.'/'.$f)); }else{ array_push($nodes, array("text"=> $f, "id"=>$node.'/'.$f, 'leaf'=>true,'iconCls'=>getIcon($f))); } } $d->close(); echo json_encode($nodes); function getIcon($name){ if (preg_match("/\.png$/", $name) || preg_match("/\.jpg$/", $name) || preg_match("/\.gif$/", $name)) { return 'jpg-icon'; }else if (preg_match("/\.xls$/", $name) || preg_match("/\.xlsx$/", $name)) { return 'xls-icon'; }else if (preg_match("/\.ppt$/", $name) || preg_match("/\.pptx$/", $name)) { return 'ppt-icon'; }else if (preg_match("/\.doc$/", $name) || preg_match("/\.docx$/", $name)) { return 'doc-icon'; }else if (preg_match("/\.html$/", $name) || preg_match("/\.htm$/", $name)) { return 'html-icon'; }else if (preg_match("/\.pdf$/", $name)) { return 'pdf-icon'; }else{ return 'unknow-icon'; } } y hasta probe con ponerle esto a la $f $trans = array("ñ"=>"ń" , "Ñ"=>"&Nacute" , "á"=>"ã" , "é"=>"&etilde;" , "í"=>"ĩ" , "ó"=>"õ" , "ú"=>"ũ"); strtr($f,$trans ) y hasta en convertirla en string peo nada y este es el js: var tree = new Ext.tree.TreePanel({ region:'west', title:'Files', width:130, split:true, collapsible:true, border: false, autoScroll:true, dataUrl:'get-files.php', root: new Ext.tree.AsyncTreeNode({ id:'.', text: 'User files' }) });
0
si el problema es como te devuelve las "ñ", después de hacer la conexión con tu base de datos también puedes agregarle mysql_query("SET NAMES 'utf8'"); a tu código
0
pon esto en tu archivo html
0
En si no es una conexión a la base de datos, lo que estaba haciendo era mostrando los archivos del servidor y ya con el utf8_encode se soluciono, de todas formas gracias por las respuestas tan rápidas y por la preocupación.
0
Gracias por la respuesta pero igual sigue sin salir y he probado varias cosas y igual
0
no solo debes colocar lo que te menciona @Lgonzales sino que ademas la codificación de tu archivo html debe ser utf-8 con BOM
0
Gracias por la respuesta pero en si no comprendo lo que me dices , si puedes explicarme un poco mas y poner algún código para comprender te estaría muy agradecido
0
muchas gracias por las respuestas pero lo resolví solo poniendo la función de php utf8_encode('pongo lo que quiero codificar')

¿Conoces a alguien que pueda responder esta pregunta? Comparte el link en Twitter o Facebook

Es necesario registrarse para poder participar en el foro! Si ya tienes una cuenta puedes entrar y comentar en este foro.