Отправляет email-рассылки с помощью сервиса Sendsay

encoding

Насколько я понял, каждый файл mp3
содержит заголовок с названием, автором итд.
Причём в большинстве плейеров в качестве
названия выводится именно оно. При этом оно
имеет кодировку cp1251. Очевидно, что
на консоль лезут зюки. Нельзя ли их
как-нибудь перекодировать? В портах ничего не нашлось.

Кстати, кто-то на моей памяти (возможно не здесь)
ставил себе системной кодировкой не koi8-r, а iso-8859-5.
Стоит ли так делать? Если да, то как это сделать?

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.bsd.all
Написать в лист: mailto:comp.soft.bsd.all-list@subscribe.ru
Отписаться: mailto:comp.soft.bsd.all--unsub@subscribe.ru?subject=comp.soft.bsd.all

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   andrew Thu, 6 Jan 2005 15:43:35 +0000 (#292572)

 

Ответы:

On Thu, Jan 06, 2005 at 15:43 +0000, andrew wrote:

dlia mpg123 mozhno sdelat' tak, tolko v Makefile perepeshite
dlia svoei sistemy.
hint: linkuetsia s libiconv (-liconv).

Makefile.old Mon Jul 27 15:11:58 2004
+++ Makefile Mon Jul 26 15:11:48 2004
@ -520,14 +520,15 @@
.endif

openbsd:
- ${MAKE} CC="${CC}" LDFLAGS= \
+ ${MAKE} CC="${CC}" LDFLAGS='-L${LOCALBASE}/lib -liconv' \
OBJECTS='${ARCHOBJS} audio_openbsd.o term.o' \
CFLAGS='-O3 -funroll-all-loops -ffast-math ${COPTS} \
- ${ARCHOPTS} -DREAL_IS_FLOAT -DTERM_CONTROL \
+ ${ARCHOPTS} -I${LOCALBASE}/include \
+ -DREAL_IS_FLOAT -DTERM_CONTROL \
-DINET6 -DUSE_MMAP -DOPENBSD' mpg123-make

openbsd-esd:
- ${MAKE} CC="${CC}" LDFLAGS='-L${LOCALBASE}/lib' \
+ ${MAKE} CC="${CC}" LDFLAGS='-L${LOCALBASE}/lib -liconv' \
AUDIO_LIB='-lesd -laudiofile' \
OBJECTS='${ARCHOBJS} audio_esd.o term.o' \
CFLAGS='-O3 -funroll-all-loops -ffast-math ${COPTS} \

common.c.orig Mon Jul 26 15:35:14 2004
+++ common.c Mon Jul 26 15:43:45 2004
@ -15,6 +15,8 @@
#endif
#endif

+#include <iconv.h>
+
#include "mpg123.h"
#include "genre.h"
#include "common.h"
@ -483,15 +485,50 @@
char year[5]={0,};
char comment[31]={0,};
char genre[31]={0,};
+ size_t s_left, d_left;
+ iconv_t tagconv;

if(param.quiet)
return;

- strncpy(title,tag->title,30);
- strncpy(artist,tag->artist,30);
- strncpy(album,tag->album,30);
- strncpy(year,tag->year,4);
- strncpy(comment,tag->comment,30);
+ tagconv = iconv_open("KOI8-R", "CP1251");
+ if (tagconv != (iconv_t) -1) {
+ char *src, *dst;
+
+ src = (char *) tag->title;
+ dst = (char *) title;
+ s_left = d_left = (size_t) 30;
+ (void)iconv(tagconv, &src, &s_left, &dst, &d_left);
+
+ src = (char *) tag->artist;
+ dst = (char *) artist;
+ s_left = d_left = (size_t) 30;
+ (void)iconv(tagconv, &src, &s_left, &dst, &d_left);
+
+ src = (char *) tag->album;
+ dst = (char *) album;
+ s_left = d_left = (size_t) 30;
+ (void)iconv(tagconv, &src, &s_left, &dst, &d_left);
+
+ src = (char *) tag->year;
+ dst = (char *) year;
+ s_left = d_left = (size_t) 4;
+ (void)iconv(tagconv, &src, &s_left, &dst, &d_left);
+
+ src = (char *) tag->comment;
+ dst = (char *) comment;
+ s_left = d_left = (size_t) 30;
+ (void)iconv(tagconv, &src, &s_left, &dst, &d_left);
+
+ (void)iconv_close(tagconv);
+ }
+ else {
+ strncpy(title,tag->title,30);
+ strncpy(artist,tag->artist,30);
+ strncpy(album,tag->album,30);
+ strncpy(year,tag->year,4);
+ strncpy(comment,tag->comment,30);
+ }

if ( tag->genre <= sizeof(genre_table)/sizeof(*genre_table) ) {
strncpy(genre, genre_table[tag->genre], 30);

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.bsd.all
Написать в лист: mailto:comp.soft.bsd.all-list@subscribe.ru
Отписаться: mailto:comp.soft.bsd.all--unsub@subscribe.ru?subject=comp.soft.bsd.all

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Fri, 7 Jan 2005 22:05:51 +0300 (#292619)

 

On Fri, Jan 07, 2005 at 22:05 +0300, Mike Belopuhov wrote:

pohozhe patch polomalsia subscrib'om. no ja nadeius vi same
popravite ego... ;)

-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.bsd.all
Написать в лист: mailto:comp.soft.bsd.all-list@subscribe.ru
Отписаться: mailto:comp.soft.bsd.all--unsub@subscribe.ru?subject=comp.soft.bsd.all

http://subscribe.ru/ http://subscribe.ru/feedback

Ответить   Fri, 7 Jan 2005 22:20:30 +0300 (#292624)