minidlna 中文显示乱码

来源:互联网 发布:php人才需求 编辑:程序博客网 时间:2024/05/17 04:53

minidlna 解析音频文件的tag信息,

在win7 mediaplayer中看到解析出来文件信息为乱码


原因在于: 中文的编码方式为GB232,

_get_mp3tags 获取tag信息时需要通过iconv进行编码方式转换为UTF-8

注意:

minidlna中需要enable HAVE_ICONV_H

通过调用库libiconv来进行转换


库libiconv不在minidlna目录下的时候:

在lib目录下(libiconv-1.14/lib)

1)通过ar crv text.a text.o命令编译生成静态链接库*.a文件

../../../toolchain/rsdk-1.5.5-5281-EB-2.6.30-0.9.30.3-110714/bin/rsdk-linux-ar crv libiconv.a *.o

2)将.a 和.la文件拷到minidlna对应目录下(通过查看makefile的lib目录确定)

cp libiconv.a ../../minidlna/tmp/lib/

cp libiconv.la ../../minidlna/tmp/lib/

3)在Makefile LIBS =。。。中加入

LIBS =-lsqlite3  -lpthread -lavformat -lavcodec -lavutil -liconv -lid3tag -ldl -lm -lz


FYI:

[1]Linux .a文件.o文件.la文件.lo文件和.so文件

http://kmoving.blog.163.com/blog/static/205049197201259102538782/


[2] gcc命令生成静态链接库的方法

1、用gcc的-c选项生成.o文件,如
gcc -c test1.c test2.c test3.c
编译后会生成test1.o test2.o test3.o三个目标文件。
2、然后用ar命令生成.a文件,如
ar crv test.a test1.o test2.o test3.o