Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

583
Vistas
PDO::__construct(): El servidor envió un juego de caracteres (255) desconocido para el cliente. Por favor, informe a los desarrolladores.

Estoy tratando de conectarme a una base de datos MySQL desde la aplicación Symfony 3. Pero cuando intento crear un esquema MySQL desde un comando de la consola Symfony, aparece este error: PDO::__construct(): Server sent charset (255) unknown to the client. Please, report to the developers

Tanto PHP como MySQL se ejecutan en contenedores Docker.

Versión de MySQL: 8.0.1

Versión PHP: 7.1.3

Controlador: pdo_mysql

juego de caracteres: UTF8

dsn: "mysql:host=mysql;dbname=database;charset=UTF8;"

¿Algunas ideas?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

MySQL 8 cambió el conjunto de caracteres predeterminado a utf8mb4. Pero algunos clientes no conocen este conjunto de caracteres. Por lo tanto, cuando el servidor informa su conjunto de caracteres predeterminado al cliente y el cliente no sabe qué significa el servidor, arroja este error.

Consulte también https://bugs.mysql.com/bug.php?id=71606

Ese error está en contra de MySQL Connector/C++ por lo que está afectando más que solo PHP.

De acuerdo, lo hice funcionar cambiando el juego de caracteres a utf8, para que sea compatible con clientes no actualizados. Agregué esto a /etc/my.cnf y reinicié mysqld:

 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8

Encontré esta configuración en una respuesta de 2010: ¿Cambiar el conjunto de caracteres predeterminado de MySQL a UTF-8 en my.cnf?

over 4 years ago · Santiago Trujillo Denunciar

0

La respuesta aceptada me salvó (¡gracias, Bill!), pero me encontré con otro problema relacionado, solo quería brindar algunos detalles sobre mi experiencia:

Después de actualizar a MySQL 8.0.11, experimenté el mismo problema que el OP al usar la función mysqli_connect() de PHP. En mi directorio MySQL (en mi caso, usr/local/mysql ), creé el archivo my.cnf , agregué el contenido en la respuesta aceptada y luego reinicié el servidor MySQL. Sin embargo, esto produjo un nuevo error:

mysqli_connect(): The server requested authentication method unknown to the client [caching_sha2_password]

Agregué la línea default_authentication_plugin = mysql_native_password , por lo que my.cnf ahora se veía así:

 [client] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] collation-server = utf8_unicode_ci character-set-server = utf8 default_authentication_plugin = mysql_native_password

y yo estaba bueno para ir!

Para referencia adicional: https://github.com/laradock/laradock/issues/1392

over 4 years ago · Santiago Trujillo Denunciar

0

Mi caso fue que estaba usando RDS (MySQL db verion 8) de AWS y estaba conectando mi aplicación a través de EC2 (mi código php 5.6 estaba en EC2).

Aquí, en este caso, dado que es RDS, no hay my.cnf, los parámetros son mantenidos por PARAMETER Group of AWS. Consulte: https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html

Entonces lo que hice fue:

  1. Creó un nuevo grupo de parámetros y luego los editó.

  2. Buscó todos los parámetros del conjunto de caracteres. Estos están en blanco por defecto. edítelos individualmente y seleccione utf8 de la lista desplegable.

cliente_juego_de_caracteres, conexión_juego_de_caracteres, base_de_datos_de_juego_de_caracteres, servidor_de_juego_de_caracteres

  1. AHORRAR

Y luego, lo más importante, instancia de RDS reiniciada.

Esto resolvió mi problema y la conexión de php5.6 a mysql 8.x funcionó muy bien.

Por favor, vea esta imagen para una mejor comprensión.

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda