Pour une raison quelconque, je ne peux pas créer le HTTP : //ec2-13-57-28-240.us-west-.compute.amazonaws.com/samplepage.php p> J'ai pu créer mon instance EC2 à partir de l'AWS Créez une instance EC2 et installez un didacticiel de serveur Web sur le lien suivant: p> Je reçois ce qui suit ERREUR: P> Impossible de se connecter à MySQL: Server envoyé Chalet inconnu du client.
S'il vous plaît, rapportez-vous aux développeurs. P>
BlockQuote> De ce que j'ai lu, l'image AWS Linux AMI a un jeu de caractères UTF-8 par défaut et je reçois la sortie exécutant cette commande sur mon instance EC2 après la connexion à MySQL DB Instance: P> i définissez également mon putty Vous ne savez pas ce qui se passe comme moi, je crois, j'ai suivi le tutoriel complet sur la façon de créer une instance de base de données et un lien vers l'instance EC2 à partir de ce lien: p> https://docs.aws.amazon.com/amazonrds/latest/userguide/tuut_webappwithrds.html p> p> Emaileettable code> dans la base de données code> code> lors de l'ouverture du
samplepage.php code> sur mon navigateur chrome de Le lien suivant:
Afficher les variables comme 'char%'; code> p>
/. bash_profile code> à utiliser le jeu de caractères UTF-8, en saisissant la configuration comme suit: p>
3 Réponses :
Cela dépend.
Vous n'avez pas encore apporté de texte dans les tables, puis: p> Si vous avez des données dans la table, il y en a environ 3 différentes façons de changer le ménage. Les conseils sont ici: Si vous avez des ordures sortantes, alors voir problèmes avec les caractères UTF-8; Ce que je vois n'est pas ce que j'ai stocké p> p>
http://mysql.rjweb.org/doc.php/charcoll#fixes_for_various_cases p>
J'ai essayé d'exécuter la commande alter Table T convert T convertir en jeu de caractères UTF8MB4; code> mais a obtenu l'erreur suivante:
Erreur 1046 (3D000): Aucune base de données sélectionnée code>
J'ai entré Utiliser un échantillon; code> puis j'ai ran
alter Table T convert T converti au jeu de caractères UTF8MB4; Code> J'ai eu l'erreur suivante:
Erreur 1146 (42S02): Tableau "Sample. t 'n'existe pas code>. L'erreur est correcte, le tableau n'existe pas. Le
samplepage.php code> est écrit pour créer le
Emaileettable code> mais en raison du charert sur la base de données code> code> étant différent (c'est-à-dire utf-8 par rapport à utf8mb4 ) Je ne suis pas capable de créer le
Emaileeterble code>. Je veux juste créer la base de données code> code> avec le
Emaileettable code> comme l'exemple
samplepage.php code> a été conçu pour faire. Désolé, je n'étais pas clair, plus tôt.
Aussi, est-il possible de modifier la base de données d'échantillons pour être un jeu de caractères UTF-8 au lieu d'un UTF8MB4? Y a-t-il une commande pour le changer? Peut-être que cela résoudra le problème inconnu Charset.
J'ai pu définir le caractère_set_server code> et le code
caractère_set_database code> vers
utf8mb3 code> ou
utf8 code>, en exécutant le jeu
Noms 'utf8mb3'; code> commande et le paramètre
Caractère_set_server = 'utf8mb3'; code> commande, mais je reçois toujours l'erreur
Impossible de vous connecter à MySQL: serveur envoyé ChartNet Inconnu du client . S'il vous plaît, rapportez-vous à la table de création d'erreurs de développeurs. Code> Peut-être, je dois faire quelque chose au fichier
samplepage.php code> pour obtenir le fichier de caractères de caractère correct.
J'ai placé l'en-tête en-tête ("Type de contenu: Texte / HTML; Charset = UTF-8"); code> dans le
SamplePage.php code> et obtenez toujours la même erreur. Je pense que je suis à court d'idées, sauf pour créer la base de données à nouveau pour voir si j'avais peut-être manqué quelque chose?
Il s'agit de tout ce travail sur la modification du charert et assurez-vous que le charert de la base de données a été défini correctement était une dépendance sur un autre problème, qui était l'extension mysqli code> n'était pas correctement installée et activée. J'améliore également la version PHP vers 7.2, qui peut également avoir corrigé le problème, mais je ne suis pas totalement sûr. Peut-être que quelqu'un peut vérifier ce que le correctif était basé sur ce que j'avais fait? P>
J'ai résolu ceci en supprimant PHP56 et en installant PHP72 à la place. Voici les commandes p>
sudo yum -y supprimer php * code> p>
sudo yum installer php72 code> p>
sudo yum installer php72-mysqlnd code> p>
Sudo Apachectl Redémarrez CODE> P>
Quelles versions des différents composants (clients, serveur, etc.)? Avez-vous récemment changé de services de cloud?
Mon client est Windows 10. L'instance AWS EC2 est une instance Linux AMI version 1 et DB est MySQL 8.0.17. C'est ma première expérience avec des services cloud.
Je remarque que le caractère_set_client, caractère_set_connection, charceter_set_results, et le caractère_set_system sont UTF8, tandis que le caractère_set_database et le caractère_set_server sont UTF8MB4. Je ne sais pas si cela fait une différence?
J'ai trouvé un article: << a href = "https://dev.mysql.com/doc/refman/8.0/fr/charset-unicode-utf8mb33.html" rel = "nfollow Noreferrer"> dev.mysql.com/ DOC / REFMAN / 8.0 / EN / CHRSTE-UNICODE-UTF 8MB3.html > Cela peut être utile, mais je ne suis pas assez expérimenté pour l'interpréter, désolé.
Quelqu'un peut-il me guider sur la façon de changer ma valeur de caractère_set_database à UTF8 et à ma valeur de caractères_set_server sur UTF8, pour voir si cela peut résoudre le problème?
Sauf si vous avez un besoin particulier de "UTF8MB3", vous devez utiliser "UTF8MB4".