Caractère ^@ dans un fichier

Grosso merdo, j'ai un dump d'une base en sql, le truc c'est que quand je fais un less dessus, chaque caractère est séparé par ^@, et quand j'essaye de le Googler la recherche ne fonctionne pas. J'ignore si c'est un truc d'encodage ou si mon less est foireux, mais j'aimerais bien savoir d'où ça vient...

Une idée?

Edit: apparemment ^@^M^@ représente le saut à la ligne...
Ça n'apparaît qu'avec less par contre, si je head/tail/cat le fichier, rien de bizarre

Poster un commentaire
Vaval
Vaval
7 ans

- L'encodage de ta base de données est-elle la même que celui de ton fichier ?
- Qu'utilises-tu pour faire ton dump ?
- Qu'utilises-tu pour faire ton less ?

Edit : Si c'est juste pour les sauts de ligne, c'est peut être ton less qui est mal configuré ou qui doit supporter que les sauts de lignes UNIX. Un truc dans le genre.

anonyme
anonyme
a
7 ans

@Vaval: - la base n'est pas créé, c'est la première instruction du fichier
- le fichier je l'ai récupéré, ce n'est pas ma création, le dump était sous mysql 4.2 et ma base 5.7, mais j'ai déjà envisagé ce problème et ca n'en n'est pas un
- juste : less file.sql
Et j'ai un truc genre
^@C^@R^@E^@A^@T^@E

Édit: j'ai fais des test d'encodage et ce n'est pas ca

Vaval
Vaval
7 ans

@rekted: Après quelques recherches, la base était peut être en utf16, donc il ajoute un caractère null...
Tu as essayé de le convertir en utf8 avec iconv ?

(je me sens noob, je pensais que "less" voulait dire que tu souhaitais simplement compresser ton fichier...)

anonyme
anonyme
a
7 ans

@Vaval: oui et le résultat reste inchangé

Edit: ahah non less c'est juste une énième façon de lire le contenu du fichier :)

Vaval
Vaval
7 ans

@rekted: Dans ce cas, tu fais un search/replace du caractère null...
tr -d '\\0'

Edit : On en apprend tous les jours !

anonyme
anonyme
a
7 ans

@Vaval: Bien vu pour le null, c'était bien ca, merci pour la piste :)

Je laisse la box au cas où, mais cas résolu

Vaval
Vaval
7 ans

@rekted: Cool ! Par contre, si le dump indique que le charset est utf16, il faudra sûrement changer tout ça en utf8 pour éviter d'avoir des problèmes de caractère.

anonyme
anonyme
a
7 ans

@Vaval: je l'avais déjà fait la convertion
En gros j'ai encodé en utf8, puis supprimé les null

Vaval
Vaval
7 ans

@rekted: Je parlais des indications de charset lors des CREATE TABLE dans ton dump. J'ai eu le même problème avec des bases utf8mb4. En remplaçant "utf8mb4" par "utf8" dans tout le fichier, ça m'a sauvé plus d'une fois...

MyName
MyName
7 ans

@rekted: Mets dans le titre de la BOX "Résolu"

anonyme
anonyme
a
7 ans

@MyName: ai pu les droits :(
(A quand un g/stackoverflow)

MyName
MyName
7 ans

@rekted: Pour faire une copie d'une copie d'autres copies ?

Pas une super bonne idée ça.

https://fr.wikipedia.org/wiki/Copie

anonyme
anonyme
a
7 ans

@MyName: dans ma réponse beaucoup d'ironie il y avait

MyName
MyName
7 ans

@rekted: Compris moi j'ai pas !

Cette page est réservée aux ADULTES

Tu es sur le point d'accéder à un site web qui contient du matériel explicite (pornographie).

Tu ne dois accéder à ce site que si tu as au moins 18 ans ou si tu as l'âge légal pour visionner ce type de matériel dans ta juridiction locale, l’âge le plus élevé étant retenu. En outre, tu déclares et garantis que tu ne permettras aucun mineur à d'accéder à ce site ou à ces services.


En accédant à ce site, tu acceptes nos conditions d'utilisation.