Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

581
Views
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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!