Je fais actuellement un programme qui convertit une source de donnée d'iso-8859-15 vers utf8 et vice versa
du moins j'essaye
et la fonction principale a savoir iconv
ne marche pas
j'obtiens comme erreur (dans errno):
iconv: Bad file descriptor
et évidement
pas la moindre idée de ce que ca vient faire la dedans
si quelqu'un a une idée......
(bon j'avoue c'est pour un bot irc pour que #linuxfr soit accessible en utf8)
# iconv_
Posté par gc (site web personnel) . Évalué à 3.
#include <iconv.h>
char* iconv_(char* s, char* from_charset, char* to_charset) {
iconv_t cd = iconv_open(to_charset, from_charset);
char* retval = s;
if (cd != (iconv_t) (-1)) {
size_t s_len = strlen(retval);
/* the maximum expansion when converting happens when converting
tscii to utf-8; each tscii char can become up to 4 unicode chars
and each one of those unicode chars can be 3 bytes long */
char *buf = alloca(4 * 3 * s_len);
{
char *ptr = buf;
size_t ptr_len = 4 * 3 * s_len;
if ((iconv(cd, &s, &s_len, &ptr, &ptr_len)) != (size_t) (-1)) {
*ptr = 0;
retval = buf;
}
}
iconv_close(cd);
}
return strdup(retval);
}
[^] # Re: iconv_
Posté par Ph Husson (site web personnel) . Évalué à 1.
(bon faut que je teste quand même)
# Vala c'est pret
Posté par Ph Husson (site web personnel) . Évalué à 0.
donc ceux qui veulent utiliesr l'utf8 c'est #linuxfr_utf8
comme ca y aura plus de ralleurs :)
donc merci gc :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.