Aller au contenu

Imprimante Zebra : Encodage particulier


Sujets conseillés

Posté

Je suis en train de travailler avec une imprimante our étiquettes Zebra, et je galère quelque peu avec l'encodage des caractères.


 


Dans l'éditeur de templates, quand j'écris un "é", il sera transformé en "\82" dans le fichier, et imprimé correctement en "é".


 


Par contre, je ne trouve pas la logique de correspondance "é => 82" pour pouvoir l'appliquer aux textes issus de ma base de données qui seront intégrés dans l'étiquette.


 


Si quelqu'un a une piste, ça me dépannerait beaucoup. Merci d'avance !


Posté

Merci Dan !


Par contre, comment convertir mon texte de manière à obtenir cet encodage ?


Parce que depuis l'utf8, ord('é') donne 195, depuis ISO-8859-1(5) -> 233


 


Et si je fais un iconv('UTF-8', 'ASCII', "é"), j'obtiens une erreur.


Posté

Et en remplaçant ASCII par CP850 ?


Edit: je n'avais pas vu ton dernier message.....


Posté

Ceci fonctionne aussi :



print dechex(ord(iconv('UTF-8','CP850',"é")));

et donne 82 à l'affichage (dans la mesure où tu entres ce "é" en UTF bien sur) wink.gif


Posté

Et voilà ma fonction définitive : on ne remplace que les caractères ASCII étendus (>= 128) :
 

function zebraConvert($text)    {        $return = '';        $arr = str_split(iconv('UTF-8', 'CP437//TRANSLIT', $text));        foreach ($arr as $letter) {            $ord = ord($letter);            if ($ord >= 128) {                $return .= '\\' . dechex($ord);            } else {                $return .= $letter;            }        }        return $return;    }

Edit : on a fait la même chose, grosso modo, sauf que je l'ai volontairement étendu à des messages plus longs, et que je ne fais la conversion que pour les caractères ASCII étendus.

Posté

Moi je n'ai pas écrit un programme, juste donné une piste ...


Tu sais bien que les admins système sont des feignants, non ? laugh.gif


 


Et je me suis assez fait ch... avec la conversion de la base du Hub en UTF-8 ...


Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...