Phpost

Versión completa: Emojis y otros caracteres
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Un saludo, al insertar copiando y pegando un emoji cualquiera, por ejemplo este: http://Registrate o inicia tu sesión par... contenido

Mi sitio web no reconoce el carácter y aparecen así:
 [img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]

y quisiera que se mostrase el emoji 😙 (copiado y pegado) como si se insertase desde el móvil tal y como acabo de hacer.


Dejo usuario demo:

Usuario: demo
Contraseña: phpost
Creo que subí un fix para eso, porque me pasó actualizando un tema antiguo, voy a ver
Prueba esto phpost.es/thread-401.html
(04-23-2024, 03:17 PM)York0x escribió: [ -> ]Un saludo, al insertar copiando y pegando un emoji cualquiera, por ejemplo este: [/url]

Mi sitio web no reconoce el carácter y aparecen así:
 [img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]

y quisiera que se mostrase el emoji 😙 (copiado y pegado) como si se insertase desde el móvil tal y como acabo de hacer.


Dejo usuario demo:

Usuario: demo
Contraseña: phpost

Aunque apliques es fix no funcionará ya que el problema esta en la codificación de caracteres en la base de datos, al no poder interpretar el emoji este lo guardará de esta forma ???, lo digo porque ya me paso, las tablas en las que se guarde dicho emoji tienen que estar con utf8mb4 y no con utf8

En inc/ext/functions.php buscar esta línea (puede que algunos lo tengan así 'mysqli_set_charset($db_link, 'utf8')')
Código PHP:
$db_link->set_charset('utf8'
y cambian 'utf8' por 'utf8mb4' para evitar problemas de codificación al insertar y recuperar datos.

Luego desde este punto con cuidado.
1 - Hacen una copia de seguridad de la base o de la tabla que van a modificar. (si falla, pueden perder los datos)

2 - Realizamos la conversión de la tabla para que pueda usarse los emojis, obviamente pueden usarlo para comentarios, fotos, etc
Código PHP:
ALTER TABLE p_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

3 - Realizamos cambios en las columnas en la que estos emojis se van a guardar en este caso el post_title y post_body
Código PHP:
ALTER TABLE `p_postsCHANGE `post_title` `post_titleTINYTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULLCHANGE `post_body` `post_bodyTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL

Y así sería el resultado
[img]Registrate o inicia tu sesión para ver este contenido[/img]

Otras tablas posibles
Comentarios en posts: p_comentarios (tabla), c_body (columna)
Fotos: f_fotos (tabla), f_title, f_descripcion (columna)
Comentarios en  fotos: f_comentarios (tabla), c_body (columna)
etc.
Aplicable a todas las tablas y columnas que requieras. Espero que te ayude
(04-23-2024, 08:20 PM)Miguel92 escribió: [ -> ]
(04-23-2024, 03:17 PM)York0x escribió: [ -> ]Un saludo, al insertar copiando y pegando un emoji cualquiera, por ejemplo este: [/url]

Mi sitio web no reconoce el carácter y aparecen así:
 [img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]

y quisiera que se mostrase el emoji 😙 (copiado y pegado) como si se insertase desde el móvil tal y como acabo de hacer.


Dejo usuario demo:

Usuario: demo
Contraseña: phpost

Aunque apliques es fix no funcionará ya que el problema esta en la codificación de caracteres en la base de datos, al no poder interpretar el emoji este lo guardará de esta forma ???, lo digo porque ya me paso, las tablas en las que se guarde dicho emoji tienen que estar con utf8mb4 y no con utf8

En inc/ext/functions.php buscar esta línea (puede que algunos lo tengan así 'mysqli_set_charset($db_link, 'utf8')')
Código PHP:
$db_link->set_charset('utf8'
y cambian 'utf8' por 'utf8mb4' para evitar problemas de codificación al insertar y recuperar datos.

Luego desde este punto con cuidado.
1 - Hacen una copia de seguridad de la base o de la tabla que van a modificar. (si falla, pueden perder los datos)

2 - Realizamos la conversión de la tabla para que pueda usarse los emojis, obviamente pueden usarlo para comentarios, fotos, etc
Código PHP:
ALTER TABLE p_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

3 - Realizamos cambios en las columnas en la que estos emojis se van a guardar en este caso el post_title y post_body
Código PHP:
ALTER TABLE `p_postsCHANGE `post_title` `post_titleTINYTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULLCHANGE `post_body` `post_bodyTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL

Y así sería el resultado
[img]

Otras tablas posibles
Comentarios en posts: p_comentarios (tabla), c_body (columna)
Fotos: f_fotos (tabla), f_title, f_descripcion (columna)
Comentarios en  fotos: f_comentarios (tabla), c_body (columna)
etc.
Aplicable a todas las tablas y columnas que requieras. Espero que te ayude

(04-25-2024, 06:07 PM)Mawriceo escribió: [ -> ]
(04-23-2024, 08:20 PM)Miguel92 escribió: [ -> ]
(04-23-2024, 03:17 PM)York0x escribió: [ -> ]Un saludo, al insertar copiando y pegando un emoji cualquiera, por ejemplo este: [/url]

Mi sitio web no reconoce el carácter y aparecen así:
 [img]Registrate o inicia tu sesión para ver este contenido[/img]
[img]Registrate o inicia tu sesión para ver este contenido[/img]

y quisiera que se mostrase el emoji 😙 (copiado y pegado) como si se insertase desde el móvil tal y como acabo de hacer.


Dejo usuario demo:

Usuario: demo
Contraseña: phpost

Aunque apliques es fix no funcionará ya que el problema esta en la codificación de caracteres en la base de datos, al no poder interpretar el emoji este lo guardará de esta forma ???, lo digo porque ya me paso, las tablas en las que se guarde dicho emoji tienen que estar con utf8mb4 y no con utf8

En inc/ext/functions.php buscar esta línea (puede que algunos lo tengan así 'mysqli_set_charset($db_link, 'utf8')')
Código PHP:
$db_link->set_charset('utf8'
y cambian 'utf8' por 'utf8mb4' para evitar problemas de codificación al insertar y recuperar datos.

Luego desde este punto con cuidado.
1 - Hacen una copia de seguridad de la base o de la tabla que van a modificar. (si falla, pueden perder los datos)

2 - Realizamos la conversión de la tabla para que pueda usarse los emojis, obviamente pueden usarlo para comentarios, fotos, etc
Código PHP:
ALTER TABLE p_posts CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci

3 - Realizamos cambios en las columnas en la que estos emojis se van a guardar en este caso el post_title y post_body
Código PHP:
ALTER TABLE `p_postsCHANGE `post_title` `post_titleTINYTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULLCHANGE `post_body` `post_bodyTEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL

Y así sería el resultado
[img]

Otras tablas posibles
Comentarios en posts: p_comentarios (tabla), c_body (columna)
Fotos: f_fotos (tabla), f_title, f_descripcion (columna)
Comentarios en  fotos: f_comentarios (tabla), c_body (columna)
etc.
Aplicable a todas las tablas y columnas que requieras. Espero que te ayude