Foros del Web » Programando para Internet » PHP »

Como grabar caracteres especiales

Estas en el tema de Como grabar caracteres especiales en el foro de PHP en Foros del Web. hola a todos, tengo una variable dond guardo una direccion por ejemplo: 'C:\Documents and Settings\msalas\Escritorio\php\MANUAL DE PHP.doc' el problema q tengo es q cuando lo ...
  #1 (permalink)  
Antiguo 28/04/2006, 06:53
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
Como grabar caracteres especiales

hola a todos,

tengo una variable dond guardo una direccion por ejemplo: 'C:\Documents and Settings\msalas\Escritorio\php\MANUAL DE PHP.doc'

el problema q tengo es q cuando lo voy a guardar en la base de datos no me guarda los caractres especiales tales como: / o los espacios... podrian decirme si hay alguna funcion q me permita guardar la cadena tal y como esta?
__________________
.-._.-. [email protected]._.-.
  #2 (permalink)  
Antiguo 28/04/2006, 07:17
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Debería guardártelos. Asegúrate de que lo estás poniendo en un campo tipo TEXT, y la base de datos utiliza un lenguaje tipo UTF8.

¿Sigue igual?
  #3 (permalink)  
Antiguo 28/04/2006, 07:38
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
no no funciona sigue guardandolo sin los /...
__________________
.-._.-. [email protected]._.-.
  #4 (permalink)  
Antiguo 28/04/2006, 07:44
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Pues no sé... enseña el código. Quizá ayude.
  #5 (permalink)  
Antiguo 28/04/2006, 07:53
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
Código PHP:
<?php

//Declaracion y optencion de vaiables

$oferta=$_GET["oferta"]; 
$nombre_documento=$_GET["nombre_documento"];
$direccion_documento=$_GET["direccion_documento"];




// abro la conexion
$conn pg_connect("dbname=xxxx user=xxx password=xxx");

$query "INSERT INTO documentos (oferta, nombre_documento, direccion_documento) VALUES ('$oferta', '$nombre_documento', '$direccion_documento')";


$result pg_Exec($conn,$query);
$query "SELECT * FROM documentos";
    
header("Location: Contratos.php"); 
 
 
pg_close($conn);
?>

hasta alli todo esta bien, porq cuando imprimo el query me sale conlo s/, el problema esta q la base de datos no entiende esos caracteres, y ya lo cambie al formato UTF8 y nada
__________________
.-._.-. [email protected]._.-.
  #6 (permalink)  
Antiguo 28/04/2006, 08:36
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
¿pg? ¿No estamos hablando de una Base de Datos MySQL?
  #7 (permalink)  
Antiguo 28/04/2006, 08:38
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
no, es postgre... pero funcionan casi igual...
__________________
.-._.-. [email protected]._.-.
  #8 (permalink)  
Antiguo 28/04/2006, 08:42
Avatar de david_M_G  
Fecha de Ingreso: febrero-2005
Mensajes: 938
Antigüedad: 19 años, 2 meses
Puntos: 20
Vaya, ya decía yo.. desconozco las PG
  #9 (permalink)  
Antiguo 28/04/2006, 08:46
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
no se q hacer... pero gracias por la intencion
__________________
.-._.-. [email protected]._.-.
  #10 (permalink)  
Antiguo 28/04/2006, 09:06
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Puedes intentar guardar los datos con urlencode() y recuperarlos con urldecode()

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #11 (permalink)  
Antiguo 28/04/2006, 13:12
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
gracias esa era a funcion q andaba buscando....eres un sol

ahora tengo otro problemita, esa dir es para desargar un archivo y cuando le doy click no lo descarga porq antes de la dir q esta ya biengusrdada me sale algo como: file:///la dir

y no se descarga... sabes q sera eso?
__________________
.-._.-. [email protected]._.-.
  #12 (permalink)  
Antiguo 28/04/2006, 13:37
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
Lo q ocurre es q estás guardando la ubicación absoluta de los archivos, es decir "C:\directorio\web\archivos\mi_archivo.doc" por ejemplo, entonces al colocar esta ruta como enlace lo que hace es buscar en la pc del cliente, de manera local.
Para solucionar esto lo que debes almacenar es la ubicación relativa de cada archivo y colocar esa como enlace, cuando digo relativa es decir en relación a tu sitio web, por ejemplo: si debo guardar mis archivos en la carpeta "archivos\uploads\" entonces la ruta a guardar sería "archivos\uploads\mi_archivo.doc".
Te recomiendo que guardes sólo el nombre del archivo y no la ruta completa, esto en el caso de que en algún momento desees cambiar la ubicación de la carpeta donde almacenes los archivos.
Espero te sirva de ayuda,
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #13 (permalink)  
Antiguo 28/04/2006, 13:43
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
Cita:
Iniciado por jcxnet
Lo q ocurre es q estás guardando la ubicación absoluta de los archivos, es decir "C:\directorio\web\archivos\mi_archivo.doc" por ejemplo, entonces al colocar esta ruta como enlace lo que hace es buscar en la pc del cliente, de manera local.
Para solucionar esto lo que debes almacenar es la ubicación relativa de cada archivo y colocar esa como enlace, cuando digo relativa es decir en relación a tu sitio web, por ejemplo: si debo guardar mis archivos en la carpeta "archivos\uploads\" entonces la ruta a guardar sería "archivos\uploads\mi_archivo.doc".
Te recomiendo que guardes sólo el nombre del archivo y no la ruta completa, esto en el caso de que en algún momento desees cambiar la ubicación de la carpeta donde almacenes los archivos.
Espero te sirva de ayuda,

no entendi, yo no entiendomucho lo de las direcciones absolutas y relativas podrias explicarme mejor con un ejemplo o algo, porq la direccion yo la capturo con un input type file, y no se como hacer para cambiar eso.. no entiendo podrias explicarme mejor si no es mucha molestia... gracias

besos
__________________
.-._.-. [email protected]._.-.
  #14 (permalink)  
Antiguo 28/04/2006, 14:01
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Muestra el codigo del upload.
  #15 (permalink)  
Antiguo 28/04/2006, 14:19
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
Código PHP:
<?php

//Declaracion y optencion de vaiables

$oferta=$_GET["oferta"]; 
$nombre_documento=$_GET["nombre_documento"];
$direccion_documento=$_GET["direccion_documento"];

$direccion_documentourlencode ($direccion_documento);


// abro la conexion
$conn pg_connect("dbname=xxx user=xxx password=xxx");

$query "INSERT INTO documentos (oferta, nombre_documento, direccion_documento) VALUES ('$oferta', '$nombre_documento', '$direccion_documento')";


$result pg_Exec($conn,$query);
$query "SELECT * FROM documentos";
    
header("Location: Contratos.php"); 
 
 
pg_close($conn);
?>

con eso guardo en la base de datos... las variables de arriba sonlas q mando del form de otra pagina para guardarlo
__________________
.-._.-. [email protected]._.-.
  #16 (permalink)  
Antiguo 28/04/2006, 14:27
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
mejor muestra el formulario que utilizas
__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #17 (permalink)  
Antiguo 28/04/2006, 14:35
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
form action="agregar_documentos1.php" method="get">
<? $oferta=$_GET["oferta"];


/* Conexion a la base de datos */
$conn = pg_connect("dbname=contratos_incostas user=postgre password=p0stgr303");

// Obtiene el registro (fila) que acaba de ser agregada.

$query="SELECT * FROM contratos where oferta = $oferta";
$result=pg_Exec($conn,$query);

$row=pg_fetch_array($result);


$oferta=$row["oferta"];
?>
<table width="80%" border="0">
<tr>
<td>&nbsp;</td>
<td><div align="right"><span class="style1">Oferta:</span> <? echo "<input type='text' name='oferta' value='$oferta' style='background-color:003399;color:#ffffff;' >" ?></div></td>
</tr>
<tr>
<td height="29">&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td width="41%"><div align="left" class="style1">Nombre:</div> </td>
<td width="59%"><input type="text" name="nombre_documento" style="background-color:003399;color:#ffffff;font-family:Verdana;font-weight:bold;"> </td>
</tr>
<tr>
<td><div align="left" class="style1">Ubicaci&oacute;n:</div></td>
<td> <input type="file" name="direccion_documento" style="background-color:003399;color:#ffffff;font-family:Verdana;font-weight:bold;"></td>
</tr>
</table>
<br><br>
<input type="Submit" name="enviar" value="Agregar" style="background-color:003399;color:#ffffff;font-family:Verdana;font-weight:bold;" >
</form>
__________________
.-._.-. [email protected]._.-.

Última edición por Mirovita; 28/04/2006 a las 14:46
  #18 (permalink)  
Antiguo 28/04/2006, 14:49
Avatar de jcxnet  
Fecha de Ingreso: octubre-2005
Ubicación: Perú
Mensajes: 784
Antigüedad: 18 años, 6 meses
Puntos: 56
primero, hace falta un parámetro en tu formulario para que puedas subir archivos:enctype="multipart/form-data"
segundo: lo que estás grabando es la ruta local del archivo y no el archivo en si.
Te recomiendo que le des un vistazo a esto:
http://www.php.net/manual/es/features.file-upload.php

__________________
►I'm a devil on the run ♂
Jcxnet.com
*Keep It Simple **
  #19 (permalink)  
Antiguo 02/05/2006, 08:37
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
no entiendo nada de lo q me dijist, podrias explicarmelo un poco mas sencillo, o con unejemplo...

gracias y disculpa

besos a todos
__________________
.-._.-. [email protected]._.-.
  #20 (permalink)  
Antiguo 02/05/2006, 09:27
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Aqui tienes un ejemplo de las FAQ para subir archivos:

http://www.forosdelweb.com/showthrea...389#post249389
  #21 (permalink)  
Antiguo 02/05/2006, 10:28
Avatar de Mirovita  
Fecha de Ingreso: febrero-2005
Ubicación: Caracas-Venezuela
Mensajes: 840
Antigüedad: 19 años, 1 mes
Puntos: 10
ok , probe textualmente la funcion q esta en las Faq's y no me hace nada
no entra al if, es mas hice un else q imprima q no se hizo el upload y cae alli...

no se si es q ando brutica o no entiendo pero no me da nada d elo q hago...
__________________
.-._.-. [email protected]._.-.
  #22 (permalink)  
Antiguo 02/05/2006, 11:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Mirovita
ok , probe textualmente la funcion q esta en las Faq's y no me hace nada
no entra al if, es mas hice un else q imprima q no se hizo el upload y cae alli...

no se si es q ando brutica o no entiendo pero no me da nada d elo q hago...
Intenta no repetir los mensajes .. Si ya vistes que el problema es con el código del "upload" en sí que usas (que no es correcto), sigue en este mensaje o en el otro que tienes abierto pero no lleves dos mensajes iguales abiertos para lo mismo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 10:06.