Caractère « M » en fin de ligne dans un script SQL
Lors de l'exécution de scripts SQL dans des environnements Unix, les utilisateurs peuvent rencontrer un « M » inattendu ' caractère à la fin de chaque ligne. Ce problème est dû aux différences dans les caractères de fin de ligne entre les systèmes d'exploitation.
Les systèmes basés sur Unix utilisent un seul caractère de nouvelle ligne (LF ou n) pour séparer les lignes, tandis que les systèmes DOS/Windows utilisent un retour chariot (CR ou r) suivi d'une nouvelle ligne (LF ou n). Cela entraîne l'ajout du caractère « M » (CR) à la fin des lignes lorsque les scripts créés sous DOS/Windows sont exécutés dans des environnements Unix.
Solution : Convertir les fins de ligne
Pour résoudre ce problème, convertissez les fins de ligne du script SQL pour qu'elles correspondent au format Unix. Ceci peut être réalisé à l'aide de la commande dos2unix :
dos2unix <script.sql>
Cette commande remplace les fins de ligne CR LF par des fins de ligne LF, garantissant la compatibilité avec les environnements Unix.
Comprendre les conventions de fin de ligne
Il est important d'être conscient des différentes conventions de fin de ligne lorsque vous travaillez avec des fichiers texte. Le tableau suivant résume les options courantes :
Operating System | Line-ending Character |
---|---|
Unix, Linux | LF (n) |
DOS, Windows | CR LF (rn) |
MacOS (prior to Catalina) | CR (r) |
En comprenant ces conventions et en utilisant des outils comme dos2unix, vous pouvez résoudre efficacement les problèmes liés aux différences de fin de ligne.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!