Que dois-je faire si le fichier est tronqué sous Linux ?
Nous rencontrons souvent des caractères tronqués lors de l'exploitation de fichiers sous Linux. J'ai recherché des solutions sur Internet, dans l'espoir d'être utile à tout le monde.
Si vous devez exploiter des fichiers sous Windows sous Linux, vous pouvez souvent rencontrer des problèmes de conversion d'encodage de fichiers. Le format de fichier par défaut sous Windows est GBK (gb2312), tandis que Linux est généralement UTF-8.
Ce qui suit présente comment vérifier l'encodage des fichiers et comment convertir des fichiers sous Linux.
Recommandé : "Tutoriel Linux"
Afficher l'encodage des fichiers
Afficher les fichiers dans l'encodage Linux peut être effectué des manières suivantes :
1. Vous pouvez visualiser directement l'encodage du fichier dans Vim
:set fileencoding
pour afficher le format d'encodage du fichier.
Si vous souhaitez simplement afficher des fichiers dans d'autres formats d'encodage ou si vous souhaitez résoudre le problème des fichiers tronqués affichés avec Vim, vous pouvez ajouter le contenu suivant au fichier
~/.vimrc :
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
De cette façon, vim peut identifier automatiquement l'encodage du fichier (il peut identifier automatiquement les fichiers encodés en UTF-8 ou GBK. En fait, il s'agit d'essayer selon la liste d'encodage fournie par fileencodings). aucun encodage approprié n'est trouvé, utilisez l'encodage latin-1 (ASCII) activé.
Conversion de l'encodage de fichier
1. Convertissez l'encodage du fichier directement dans Vim, par exemple en convertissant un fichier au format utf-8
: définir l'encodage de fichier. =utf-8
conversion iconv, le format de commande d'iconv est le suivant :
iconv -f encoding -t encoding inputfile
Par exemple, convertissez un UTF-8 fichier encodé Dans l'encodage GBK
iconv -f GBK -t UTF-8 file1 -o file2
iconv -f gbk -t utf8 linux common commands.txt > utf8
Conversion de l'encodage du nom de fichier :
Lors de la copie de fichiers de Linux vers Windows ou de Windows vers Linux, parfois le nom de fichier chinois sera tronqué, et ce problème sera La raison en est que le codage chinois par défaut des noms de fichiers sous Windows est GBK, alors que le codage par défaut des noms de fichiers sous Linux est UTF8. En raison d'un codage incohérent, le nom de fichier est tronqué. Pour résoudre ce problème, le nom de fichier doit être tronqué. être transcodé.
Sous Linux, un outil convmv est spécialement fourni pour convertir l'encodage du nom de fichier. Il peut convertir le nom de fichier de l'encodage GBK en UTF-8, ou d'UTF-8 en GBK.
Vérifiez d'abord si convmv est installé sur votre système. Sinon, utilisez :
yum -y install convmv
Install.
Jetons un coup d'œil à l'utilisation spécifique de convmv :
convmv -f source encoding -t new encoding [option] nom de fichier
Paramètres couramment utilisés :
-r Traiter les sous-dossiers de manière récursive
–note Effectuer réellement l'opération Veuillez noter que par défaut, l'opération réelle du fichier n'est pas effectuée, mais. seulement un test.
–la liste affiche tous les encodages pris en charge
–unescap Vous pouvez effectuer des échappements, comme transformer %20 en espace
Par exemple, nous avons un nom de fichier codé en utf8 , Pour convertir en encodage GBK, la commande est la suivante :
convmv -f UTF-8 -t GBK –notest nom de fichier encodé en utf8
Après cette conversion, le "nom de fichier encodé en utf8 " sera converti en encodage GBK (uniquement la conversion de l'encodage du nom de fichier, le contenu du fichier ne changera pas)
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!