Foros del Web » Programando para Internet » PHP »

eñes y acentos

Estas en el tema de eñes y acentos en el foro de PHP en Foros del Web. Amigos tengo un problema con el siguiente código subo un archivo o varios archivos a una carpeta de mi servidor lo cual funciona perfecto pero ...
  #1 (permalink)  
Antiguo 15/06/2015, 13:08
Avatar de luissquadrito  
Fecha de Ingreso: agosto-2012
Ubicación: en algun lugar de chile
Mensajes: 119
Antigüedad: 11 años, 7 meses
Puntos: 0
eñes y acentos

Amigos tengo un problema con el siguiente código subo un archivo o varios archivos a una carpeta de mi servidor lo cual funciona perfecto pero por ejemplo si subo un archivo llamado año.doc en la Bd me guarda año.doc pero en la carpeta noticias que es donde se suben los archivos guarda año.docx como puedo hacer para que me guarde año.doc en la carpeta que se almacenan los archivos adjunto el código

Código PHP:
<?php
include("conexion.php");
    
$ruta './noticias/'//Decalaramos una variable con la ruta en donde almacenaremos los archivos
$mensage '';//Declaramos una variable mensaje quue almacenara el resultado de las operaciones.

foreach ($_FILES as $key//Iteramos el arreglo de archivos
{
        if(
$key['error'] == UPLOAD_ERR_OK )//Si el archivo se paso correctamente Ccontinuamos 
        
{
            
$NombreOriginal $key['name'];//Obtenemos el nombre original del archivo
            
$temporal $key['tmp_name']; //Obtenemos la ruta Original del archivo
            
$Destino $ruta.$NombreOriginal;    //Creamos una ruta de destino con la variable ruta y el nombre original del archivo    
            
$type explode("."$NombreOriginal);
                        
$extension end($type);
            
move_uploaded_file($temporal$Destino); //Movemos el archivo temporal a la ruta especificada        
        
}

    if (
$key['error']==''//Si no existio ningun error, retornamos un mensaje por cada archivo subido
        
{
            echo 
$mensage .= '-> Archivo <b>'.$NombreOriginal.'</b> Subido correctamente. <br>';
        }
    if (
$key['error']!='')//Si existio algún error retornamos un el error por cada archivo.
        
{
            
$mensage .= '-> No se pudo subir el archivo <b>'.$NombreOriginal.'</b> debido al siguiente Error: n'.$key['error']; 
        }

@
mysql_query("INSERT INTO archivos (nombre,tipo) VALUES ('$NombreOriginal','$extension')") ;
                
                }

echo 
$mensage;// Regresamos los mensajes generados al cliente
echo '<script>window.alert("Los Archivos han sido cargados con exito!");location.href="subir1.php";</script>';

?>
  #2 (permalink)  
Antiguo 15/06/2015, 13:30
Avatar de Apolo_13  
Fecha de Ingreso: mayo-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eñes y acentos

El problema es la codificación. Lo mejor es ponerlo todo en utf-8, (para habla hispana)
cambiala. tienes varias formas.

1ºra manera --> esto no es lo mas correcto, es simplemente un parche. Pero es muy rápido.

tú linea de codigo:
Código PHP:
move_uploaded_file($temporal$Destino); //Movemos el archivo temporal a la ruta especificada 
cambiala por esta otra
Código PHP:
move_uploaded_file(utf8_encode($temporal), utf8_encode($Destino)); //Movemos el archivo temporal a la ruta especificada 
2ºra manera --> esta es la mas correcta y te valdrá para todos los scripts php.

[URL="http://forum.osezno-framework.org/index.php?topic=64.0"]http://forum.osezno-framework.org/index.php?topic=64.0[/URL]
__________________
¿Buscas respuestas? eemmmmm.....¡Abstrae tu mente!
  #3 (permalink)  
Antiguo 15/06/2015, 13:55
Avatar de luissquadrito  
Fecha de Ingreso: agosto-2012
Ubicación: en algun lugar de chile
Mensajes: 119
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: eñes y acentos

sigue guardando los archivos con los caracteres con las posibles soluciones dos soluciones dadas
  #4 (permalink)  
Antiguo 15/06/2015, 14:15
Avatar de Apolo_13  
Fecha de Ingreso: mayo-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eñes y acentos

El fichero que subes que tipo de codificacion tiene?? debes ponerlo en utf-8
__________________
¿Buscas respuestas? eemmmmm.....¡Abstrae tu mente!
  #5 (permalink)  
Antiguo 15/06/2015, 14:18
Avatar de luissquadrito  
Fecha de Ingreso: agosto-2012
Ubicación: en algun lugar de chile
Mensajes: 119
Antigüedad: 11 años, 7 meses
Puntos: 0
Respuesta: eñes y acentos

no entendi tu pregunta pero los archivos son word, excel, videos, mp3, ppt. etc
  #6 (permalink)  
Antiguo 15/06/2015, 14:26
Avatar de Apolo_13  
Fecha de Ingreso: mayo-2015
Mensajes: 40
Antigüedad: 8 años, 10 meses
Puntos: 4
Respuesta: eñes y acentos

Me refiero que si el archivo que subes tiene la codificacion en utf-8. Tanto el input(cliente) como el output(servidor donde se suben los archivos) tienen que tener la misma codificación. Sino puede traer problemas con ñ y caracteres acentuados.

Esto es una gran problema para la mayoría de lenguajes de programación. yo te recomiendo omitirlos, te ahorraras muchos dolores de cabeza.

saludos!
__________________
¿Buscas respuestas? eemmmmm.....¡Abstrae tu mente!

Etiquetas: acentos, eñes, mysql, variable
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:17.