Android第十六课 iconv字符编码转换
  TEZNKK3IfmPf 2023年11月14日 28 0

场景说明
    Jni环境下使用sqlite3存储用户数据,存储的是UTF-8格式,读取数据库,转换为GBK显示中文。
解决思路
    方案1:使用自带的iconv库,不支持GBK转码,详细可参考相关的博客以及测试代码
    方案2:使用GNU的iconv编译作为NDK使用,最终解决问题,建立的iconv库的mk文件如下:
LOCAL_PATH:= $(call my-dir)
#libiconv.so
include $(CLEAR_VARS)
 
LOCAL_MODULE := libueiconv
LOCAL_CFLAGS := \
  -Wno-multichar \
  -DAndroid \
  -DLIBDIR="c" \
  -DBUILDING_LIBICONV \
  -DIN_LIBRARY
LOCAL_SRC_FILES := \
  libcharset/lib/localcharset.c \
  lib/iconv.c \
  lib/relocatable.c
LOCAL_C_INCLUDES += \
  $(LOCAL_PATH)/include \
  $(LOCAL_PATH)/libcharset \
  $(LOCAL_PATH)/lib \
  $(LOCAL_PATH)/libcharset/include \
  $(LOCAL_PATH)/srclib
include $(BUILD_SHARED_LIBRARY)

附件:http://down.51cto.com/data/2367977

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月14日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2023年11月14日   50   0   0 Android
TEZNKK3IfmPf