Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] almacenar caracteres muy raros en mysql

Estas en el tema de almacenar caracteres muy raros en mysql en el foro de PHP en Foros del Web. hola a todos, mi pregunta es como puedo agregar caracteres raros en la base de datos, por ejemplo, vieron que en taringa, en la parte ...
  #1 (permalink)  
Antiguo 19/02/2013, 13:30
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Pregunta almacenar caracteres muy raros en mysql

hola a todos, mi pregunta es como puedo agregar caracteres raros en la base de datos, por ejemplo, vieron que en taringa, en la parte de cuenta, mensaje personal, se puede agregar cualquier caracter, ya sea una estrella y demas como por ejemplo:

Código:
 esto es ✔ 【✔】 ★
si esto agrego asi nomas en la base de datos queda almacenado ta cual esta, el cotejamiento lo tengo en utf8_general_ci, al usar el $_POST me agrega como "???".

alguien puede ayudarme???
  #2 (permalink)  
Antiguo 19/02/2013, 13:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Eso es UTF-8 sin duda, aquí la clave (que ya se ha discutido muchas veces) es usar la misma codificación en los scripts, en el html y eventualmente usar utf8_encode/decode para ello.

Por favor, busca antes de iniciar un tema, gracias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/02/2013, 16:41
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

no pasa naranja, alguien puede saber??
  #4 (permalink)  
Antiguo 19/02/2013, 16:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por nenerocker73 Ver Mensaje
no pasa naranja, alguien puede saber??
¿Ya buscaste?

¿En qué parte te atoras exactamente?

¿Qué temas encontraste que no te sirvieron?

No veo que le pongas empeño, y así dudo que alguien mas te ayude.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 19/02/2013, 16:57
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: almacenar caracteres muy raros en mysql

Pateketrueke... Es que no tienes corazón.. a mí me responden con "no pasa naranja", y el ansia de responder , de ayudar, de hacer lo que sea....me puede...
  #6 (permalink)  
Antiguo 19/02/2013, 17:00
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: almacenar caracteres muy raros en mysql

...Creo que estás confundiendo la codificación con las tipografías...
Esos símbolos no existen como códigos de letras, sino que son representaciones gráficas contenidas en archivos de tipografías de letras (True Type, Open Font format).
Las codificaciones son sistemas que permiten almacenar símbolos del lenguaje natural en un formato digital (binario en este caso), que es el único medio de soporte permanente de los medios informáticos.
Las tipografías son representaciones gráficas, creadas en este caso por medio de archivos con descripciones de cada tipo representado y su correspondencia en el sistema de codificación de caracteres antes mencionado.

En otras palabras, no puedes almacenar "estrellitas", sino en todo caso el código del caracter, más la indicación de qué tipografía usar para representarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 19/02/2013 a las 17:06
  #7 (permalink)  
Antiguo 19/02/2013, 17:16
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: almacenar caracteres muy raros en mysql

El espacio de caracteres de unicode es gigantesco...
http://en.wikipedia.org/wiki/Miscellaneous_Symbols
Normalmente, el problema es encontrar una tipografía que incluya todo el espacio de caracteres..
  #8 (permalink)  
Antiguo 19/02/2013, 17:53
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por dashtrash Ver Mensaje
El espacio de caracteres de unicode es gigantesco...
[URL="http://en.wikipedia.org/wiki/Miscellaneous_Symbols"]http://en.wikipedia.org/wiki/Miscellaneous_Symbols[/URL]
Normalmente, el problema es encontrar una tipografía que incluya todo el espacio de caracteres..
claro, agregar esos tipos de tipografias, como lo agregaria a la base de datos, que funcion es en php??
  #9 (permalink)  
Antiguo 19/02/2013, 17:56
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por nenerocker73 Ver Mensaje
claro, agregar esos tipos de tipografias, como lo agregaria a la base de datos, que funcion es en php??
No se trata de una función, todo se trata del conjunto de caracteres, pero es notable tu afán de no hacer nada por investigar al respecto.

Cita:
Iniciado por pateketrueke Ver Mensaje
¿Ya buscaste?

¿En qué parte te atoras exactamente?

¿Qué temas encontraste que no te sirvieron?

No veo que le pongas empeño, y así dudo que alguien mas te ayude.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 19/02/2013, 18:02
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por dashtrash Ver Mensaje
El espacio de caracteres de unicode es gigantesco...
[URL="http://en.wikipedia.org/wiki/Miscellaneous_Symbols"]http://en.wikipedia.org/wiki/Miscellaneous_Symbols[/URL]
Normalmente, el problema es encontrar una tipografía que incluya todo el espacio de caracteres..
Cita:
Iniciado por pateketrueke Ver Mensaje
No se trata de una función, todo se trata del conjunto de caracteres, pero es notable tu afán de no hacer nada por investigar al respecto.
que mala onda loco ¬¬ y si te haces tan el guapo, que usaria para almacenar cualquiera de esa tipografia?? utf8_encode($_POST['mensaje']); utf8_decode($_POST['mensaje']); utilize los dos pero no los almacena =(
  #11 (permalink)  
Antiguo 19/02/2013, 18:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por nenerocker73 Ver Mensaje
que mala onda loco ¬¬ y si te haces tan el guapo, que usaria para almacenar cualquiera de esa tipografia?? utf8_encode($_POST['mensaje']); utf8_decode($_POST['mensaje']); utilize los dos pero no los almacena =(
Como ya te había dicho antes, es un tema que se ha tratado mucho, si buscas un poco verás de que se trata.

No solo se trata de esa función, te hacen falta mas detalles.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 19/02/2013, 18:24
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

me di cuenta que si agrego esto ☀ que es ☀, me muestra bien la salida, pero si agrego al reves, osea, ingreso este caracter ☀ no lo almacena, onda que tiene que haber un convertidor o no?? probe con htmlentities y no pasa naranja!
  #13 (permalink)  
Antiguo 19/02/2013, 18:34
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: almacenar caracteres muy raros en mysql

Lista de cosas que tienen que estar en UTF-8:
-La página con el input donde se introduce el carácter.
-El script que recibe los datos.
-La conexión a la base de datos
-El campo donde se almacena el carácter.
  #14 (permalink)  
Antiguo 19/02/2013, 18:53
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por dashtrash Ver Mensaje
Lista de cosas que tienen que estar en UTF-8:
-La página con el input donde se introduce el carácter.
-El script que recibe los datos.
-La conexión a la base de datos
-El campo donde se almacena el carácter.
sii asi es, estan en UTF-8 amigo
  #15 (permalink)  
Antiguo 19/02/2013, 18:55
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: almacenar caracteres muy raros en mysql

Vaya, pues te pasa algo imposible! No puedo ayudarte más!
  #16 (permalink)  
Antiguo 19/02/2013, 19:02
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por dashtrash Ver Mensaje
Vaya, pues te pasa algo imposible! No puedo ayudarte más!
quizas deber ser la 3 opcion la parte de la base de datos, al momento de almacenar en la consulta de la base de datos tiene que ir algo??
  #17 (permalink)  
Antiguo 19/02/2013, 19:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: almacenar caracteres muy raros en mysql

¿Entendiste lo que te dije?
¿Que los caracteres no existen en el contexto de datos?
No se almacenan los caracteres tipográficos, sino su correspondiente código de la página de charset, y luego es en la aplicación donde defines con qué tipografía los representas.
El UTF-8, Unicode, Etc, no contienen caracteres tipográficos, sino codigos, y luego las fuentes tipográficas usan esos mismos códigos para mostrarlos en pantalla.
Pero el símbolo que se ve no depende de la base, ni del lenguaje usado para programar.

Si miras con cuidado los fuentes de HTML verás las referencias a los charset, páginas de codigo y fuentes.

Una pregunta simple: ¿Nunca escribiste un texto con Times New Roman en el Word, y luego le cambiaste la tipografía a Windings, Symbol o cualquier otra no caligráfica?
Bueno, es exactamente lo mismo...

__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #18 (permalink)  
Antiguo 19/02/2013, 19:59
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
¿Entendiste lo que te dije?
¿Que los caracteres no existen en el contexto de datos?
No se almacenan los caracteres tipográficos, sino su correspondiente código de la página de charset, y luego es en la aplicación donde defines con qué tipografía los representas.
El UTF-8, Unicode, Etc, no contienen caracteres tipográficos, sino codigos, y luego las fuentes tipográficas usan esos mismos códigos para mostrarlos en pantalla.
Pero el símbolo que se ve no depende de la base, ni del lenguaje usado para programar.

Si miras con cuidado los fuentes de HTML verás las referencias a los charset, páginas de codigo y fuentes.

Una pregunta simple: ¿Nunca escribiste un texto con Times New Roman en el Word, y luego le cambiaste la tipografía a Windings, Symbol o cualquier otra no caligráfica?
Bueno, es exactamente lo mismo...
si entiendo, pero a mi parece que no me entienden ^^

esta todo en utf-8, y se que se puede hacer lo que pido!

si ingreso en el texto
Código:
ಠ_ಠ
y le damos GUARDAR, supuestamente antes de guardar en la base de datos lo convierte al codigo html que corresponde.

y eso es lo que quiero hacer, cual seria la funcion para pasar esa carita al codigo que corresponde antes de almacenarlo en la BD!
  #19 (permalink)  
Antiguo 20/02/2013, 05:35
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

faa nadie que me quiera ayudar =(
  #20 (permalink)  
Antiguo 20/02/2013, 05:48
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: almacenar caracteres muy raros en mysql

Solamente si estudias: http://www.phpwact.org/php/i18n/charsets
Leelo completo (lo siento, sólo lo conseguí en inglés), entiéndelo, practica, y luego veremos.

Finalmente, tengo una duda... ¿No será BBCode la solución que estás buscando?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #21 (permalink)  
Antiguo 20/02/2013, 06:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por nenerocker73 Ver Mensaje
faa nadie que me quiera ayudar =(
Hay veces que debes aprender a ayudarte a ti mismo, no es bueno depender de los demás para resolver siempre tus problemas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #22 (permalink)  
Antiguo 20/02/2013, 07:47
chelocastillo1
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: almacenar caracteres muy raros en mysql

Encriptalos ántes de mandarlos a la base de datos y listo. xD

Código:
<html>
<body>
<?php
	$chars = '✔ 【✔】 ★';
	//$chars = 'HOLA K ACE?';
	echo 'A CODIFICAR: ' . $chars;

	// encriptar variable $chars.
	$chars = base64_encode($chars);
	echo '<br /><br />ENCODED CHARS: ' . $chars;

	// desencriptar variable $chars.
	$chars = base64_decode($chars);
	echo '<br /><br />DECODED CHARS: ' . $chars;
?>
</body>
</html>
Cita:
Iniciado por SALIDA
A CODIFICAR: ✔ 【✔】 ★

ENCODED CHARS: 4pyUIOOAkOKclOOAkSDimIU=

DECODED CHARS: ✔ 【✔】 ★
Aunque para que la base de datos te guarde los caracteres especiales creo que tenes que cambiar el COTEJAMIENTO de la TABLA o la BASE DE DATOS (http://www.comocreartuweb.com/curso-php-y-msql/las-bases-de-datos/crear-la-base-de-datos/cotejamiento.html).

La función en PHP que pasa de caracteres "normales" a caracteres html es la función htmlspecialchars y htmlspecialchars_decode.

Última edición por chelocastillo1; 20/02/2013 a las 08:07 Razón: [noparse][url="..."]...[/url][/noparse] u.u
  #23 (permalink)  
Antiguo 20/02/2013, 09:36
 
Fecha de Ingreso: mayo-2012
Mensajes: 34
Antigüedad: 12 años, 6 meses
Puntos: 1
Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por chelocastillo1 Ver Mensaje
Encriptalos ántes de mandarlos a la base de datos y listo. xD

Código:
<html>
<body>
<?php
	$chars = '✔ 【✔】 ★';
	//$chars = 'HOLA K ACE?';
	echo 'A CODIFICAR: ' . $chars;

	// encriptar variable $chars.
	$chars = base64_encode($chars);
	echo '<br /><br />ENCODED CHARS: ' . $chars;

	// desencriptar variable $chars.
	$chars = base64_decode($chars);
	echo '<br /><br />DECODED CHARS: ' . $chars;
?>
</body>
</html>


Aunque para que la base de datos te guarde los caracteres especiales creo que tenes que cambiar el COTEJAMIENTO de la TABLA o la BASE DE DATOS (http://www.comocreartuweb.com/curso-php-y-msql/las-bases-de-datos/crear-la-base-de-datos/cotejamiento.html).

La función en PHP que pasa de caracteres "normales" a caracteres html es la función htmlspecialchars y htmlspecialchars_decode.
Excelente amigazooo!! funciono de diez :D gracias loco!
los otros son mas vagos que yo jajaja
  #24 (permalink)  
Antiguo 20/02/2013, 10:14
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: almacenar caracteres muy raros en mysql

Dios bendito...Pedazo de solución...
Oye, mira, tras 22 posts, si te vale...
  #25 (permalink)  
Antiguo 20/02/2013, 10:34
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: almacenar caracteres muy raros en mysql

Lo cual es una pésima solución, ya que incrementa en un 300%+ el tamaño del texto original, lo cual, con el tiempo saturaría la BD.

Pero bueno, que a todas leguas funciona y eso es bueno, que no esté bien o no sea lo adecuado/correcto ya es aparte.

En fin, entiendo que a las personas que no les gusta hacer bien su trabajo no les va bien en la vida.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #26 (permalink)  
Antiguo 20/02/2013, 11:05
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: almacenar caracteres muy raros en mysql

Hasta que le dieron biberón y papilla, no se conformó (y encima leche cortada y manzana verde).


La verdad, esperaba un poco más de esfuerzo de parte de él, pero bueno, es su decisión.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #27 (permalink)  
Antiguo 20/02/2013, 11:29
chelocastillo1
Invitado
 
Mensajes: n/a
Puntos:
Desacuerdo Respuesta: almacenar caracteres muy raros en mysql

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Hasta que le dieron biberón y papilla, no se conformó (y encima leche cortada y manzana verde).


La verdad, esperaba un poco más de esfuerzo de parte de él, pero bueno, es su decisión.
Cita:
Iniciado por pateketrueke Ver Mensaje
En fin, entiendo que a las personas que no les gusta hacer bien su trabajo no les va bien en la vida.
Que buena onda que tiran en este foro, me quedo seguro.

Cita:
Iniciado por nenerocker73 Ver Mensaje
faa nadie que me quiera ayudar =(
Qué mariconada escribir eso. xD

Etiquetas: almacenar, caracteres, mysql, raros
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 22:23.