Détection automatique du codage des caractères dans un terminal perl-script.
Fatigué de codage manuel pour modifier la sortie normale du texte russe dans votre script Perl en fonction de l'encodage du terminal (exécution de scripts sous Linux (utf8), Windows (ActivePerl, CP866) et Windows ( Cygwin , cp1251)). Googler un peu, mais il n'ya pas de recettes toutes prêtes sont pas remplies, une requête bien de trouver quelque chose dans ma tête ne sont pas venus.
J'ai décidé de faire ce qui suit - à déterminer le système d'exploitation, dans laquelle le script s'exécute, et en fonction de l'encodage du flux de sortie d'affichage (STDOUT):
! # / Usr / bin / perl; use utf8; besoin d'encodage; encodage d'importation ('utf8', 'stdout' => setEncoding &); setEncoding sous {if ($ ^ O = ~ / ^ mswin \ d {2} $ / i) {return 'cp866';} elsif ($ ^ O = ~ / ^ cygwin $ / i) {return 'cp1251';} elsif (condition pour le prochain système d'exploitation (par exemple - Linux)) {return 'utf8';}. .. et ainsi de suite, en fonction des besoins personnels .... }
Les commentaires, corrections, ajouts et / ou d'autres façons de résoudre le problème en installant un encodage automatique à perl-script sont toujours les bienvenus!
Et juste au cas où je me suis soudain ne peut pas trouver le temps d'écrire autre chose sur le blog jusqu'à la nouvelle année - félicitations à tous mes lecteurs une heureuse année, bonne chance et un peu plus agréable découvertes! ![]()
PS: Et pour ceux qui s'intéressent à la pige - une nouvelle, mais plutôt une ressource intéressante FrilansFM - portail pour freelance
Plus sur les mêmes sujets:
Filed under: Codage , Nouvelles |
Tags: linux , perl , sous Windows , le codage , la programmation , trucs |
No Comments 

Commentaires récents