Error al insertar y consultar diacríticos MYSQL, PHP – php mysql

Pregunta:


Buenos días,

He copiado un proyecto de un servidor appServ a mi pc (xampp) y no consigo ni que guarde en la bd caracteres especiales ni que los recupere, cosa que sí hace bien en el servidor en el que se encontraba originalmente. El resto de caracteres los muestra correctamente, el problema está cuando trata con la BD. El proyecto está codificado en ISO-8859-1 y no quiero modificar esto porque supone muchos cambios. Dejo alguna configuración a ver si podéis ayudarme o guiarme:

Lenguaje PHP
BD mySQL
servidor Apache

my.ini:(sólo la parte relacionada con la codificación)

[mysql]
default-character-set = ISO-8859-1


# Here follows entries for some specific programs 

# The MySQL server
[mysqld]

port= 3307
socket = "C:/xampp/mysql/mysql.sock"
basedir = "C:/xampp/mysql" 
tmpdir = "C:/xampp/tmp" 
datadir = "C:/xampp/mysql/data"

# The default character set that will be used when a new schema or table is
# created and no character set is defined

character-set-server = utf8
collation-server = utf8_general_ci
init_connect = 'SET collation_connection = utf8_general_ci'
init_connect = 'SET NAMES utf8'

Gracias

Preguntado por: Eseu

El problema está en el UTF-8 y el ISO-8859-1, UTF-8 puede mostrar cualquiera d elos caracteres unicode, pero ISO-8859-1 únicamente los primeros 256 de Unicode.
El problema está con los caracteres especiales que se hace un lio.

Aquí tienes tu respuesta : http://php.net/manual/es/function.utf8-decode.php

Con el utf8_encode() – Codifica un string ISO-8859-1 a UTF-8 (contiene una explicación de la codificación UTF-8)

Y con el utf8_decode — Convierte una cadena con los caracteres codificados ISO-8859-1 con UTF-8 a un sencillo byte ISO-8859-1

Una de las 2 te servirá 😉

Muchas gracias por responderme, al final lo solucioné siguiendo este tutorial:

https://www.pedroventura.com/php/problemas-codificacion-web-configurar-codificacion-utf8-php-mysql-y-html/

Fuente

Tags:,

Add a Comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *