OVH Community, votre nouvel espace communautaire.

sauvegarde et copie : erreur SQL !


Hubert31
18/11/2015, 19h16
oui, c'est bon maintenant, merci beaucoup.
bonne soirée.

Alex.P
18/11/2015, 17h44
Peux tu réessayer ?

Alex.P

Hubert31
18/11/2015, 15h45
l'export que je viens de faire à l'instant dit toujours :
/*!40101 SET NAMES utf8mb4 */;

et pourtant le jeu de caractère du fichier dans les param export est utf8 tout seul.

Alex.P
18/11/2015, 14h25
C'est corrigé.

Alex.P

Hubert31
18/11/2015, 12h40
OK, je passe en attente, je préfère ça que de modifier au hasard une base de donnée qui seert à JOOMLA! et dont je ne connais pas vraiment les applications (j'ai remarqué que certaines tables sont déclarées en swedish !)

Ludo.H
18/11/2015, 09h13
Bonjour,

Prendre latin1 vous fera un export qui sera possible d'importer plus tard, cependant si cela modifie vos bases en latin1 vos pages php risque de ne plus avoir le bonne affichage, à moins d'elle aussi les changer en latin1.

J'ai demandé à ce que le soucis de utf8mb4 soit étudié, il devrait y avoir une résolution rapide.

Cdt,

Hubert31
17/11/2015, 19h08
donc vous me conseillez de prendre latin tout simplement ?
Sinon je peux aussi modifier le paramètre dans la sauvegarde, détruire la base et la regénérer, ça devrait le faire, non ?

Ludo.H
17/11/2015, 17h58
Bonjour,

J'ai tout revérifié.

Le serveur Mysql est en UTF8
Votre base est en UTF8
Vos tables sont en UTF8

Ceci est vérifiable dans phpMyAdmin en allant sur une table et en regardant dans le pannel "Information" -> "Raw Statistics" -> Collation

Les dernieres mise à jour de mysql ont installé le charset utf8mb4 sur les serveur Mysql, cependant ce charset n'est pas disponnible sur la libmysqlclient des serveurs web (bientôt). PhpMyAdmin doit faire un listing et prendre par défaut utf8mb4 dans la box : "Server connection collation"

J'ai bien constaté le soucis sur phpmyadmin, dès lors que l'on passe en utf8_general_ci, PMA remet en utf8mb4_general_ci. Si on choisit une autre collation cela fonctionne (ex: latin_general_ci)... J'ai remonté le problème c'est en cours d'étude.

Cdt,

Hubert31
17/11/2015, 12h20
oui, mais :
1/ quand je me connecte l'interclassement est toujours utf8mb4_general_ci (on ne peut pas le changer malgré la flèche)
2/ quand j'exporte (malgré le paramètre "jeu de caractère utf8") on a :
/*!40101 SET NAMES utf8mb4 */;

et donc le problème n'est pas résolu.

merci de votre aide.

Ludo.H
17/11/2015, 09h25
Bonjour,

Les lignes vides sont "normales" et phpmyadmin/mysql ont bien fait le traimement :

mysql> use tangoposdev;
mysql> show variables like "character_set_database";
+------------------------+-------+
| Variable_name | Value |
+------------------------+-------+
| character_set_database | utf8 |
+------------------------+-------+
1 row in set (0.00 sec)

Hubert31
16/11/2015, 19h45
la base de données s'appelle tangoposdev.
Donc :
avec phpmyadmin, avant de cliquer sur le nom de la base dans le coonne de gauche :
ALTER DATABASE tangoposdev CHARACTER SET utf8 COLLATE utf8_unicode_ci
et hop :
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0006 secondes.)
bon, je clique à gauche pour avoir toutes les tables, je recommence, même résultat :
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0004 secondes.)

Hubert31
16/11/2015, 19h37
OK merci, SQL n'est pas un langage que je pratique journellement !

Ludo.H
16/11/2015, 18h52
Surement un update récent qui a changé le backend.
Sinon pour revenir à de l'utf8 :

ALTER DATABASE yourdatabasename CHARACTER SET utf8 COLLATE utf8_unicode_ci

Hubert31
16/11/2015, 13h40
C'est curieux ! la table de test est en interclassement utf8mb4_general_lci alors que l'autre est en utf8_general_ci.
ah, mais comment puis-je modifier ce paramètre ?

chmod777
16/11/2015, 13h27
Tu utilises bien les mêmes versions de MySQL sur le site de test et le site en prod ?
Car utf8mb4 n'existe qu'à partir des versions 5.5.3 de MySQL.

Hubert31
16/11/2015, 12h57
oui, chez OVH en mutualisé.
Ok, je vais vérifier, mais pourquoi diable le charset a-t-il été modifié ? en tous cas pas par moi, surtout sur une base de données qui a plusieurs années d’existence, pas fou !

merci

Ludo.H
16/11/2015, 12h25
Bonjour,

Votre site test est hébergé chez OVH ?
Le utf8mb4 n'est pas supporté sur note infrastructure mutualisé pour le moment.
Il faudrait vérifié sur le mysql source si le charset n'a pas été modifié pour devenir utf8mb4, si c'est le cas, remettre un utf8_general_ci serait plus approprié.

Cdt,

Hubert31
16/11/2015, 11h58
Bonjour,
J'ai un site de test et un réel.
Je fais par PHPmyadmin une exportation du premier quand c'est bon, et j'importe dans le second.
Depuis quelques temps, il y a une erreur intéressante :

Requête SQL :

/*!40101 SET NAMES utf8mb4 */;

MySQL a répondu: Documentation
#1115 - Unknown character set: 'utf8mb4'

je n'arrive pas à dire à PHPmyadmin de ne pas mettre mb4.
La solution que j’emploie actuellement, c'est de modifier cette instruction pour mettre juste /*!40101 SET NAMES utf8 */; Mais ça fait des manip inutiles, que faire d'autre ? c'est curieux que phpmyadmin arrive à sauvegarder des instructions qu'il est incapable d’exécuter ensuite. D'autant qu'il y a quelques mois, il ne mettait pas cet mb4 !

merci d'avance.