JNI日志调试和中文乱码

添加日志:

1. 增加log支持。

Android.mk文件增加LOCAL_LDLIBS += -llog

2. C代码中增加(放在最前面)

#include <android/log.h>
#define LOG_TAG "System.out"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)
 LOGI("info\n");
 LOGD("debug\n");

3. C代码中可以打日志了。

让日志可以支持中文的解决版本:

1. 。c文件必须要以utf-8的格式进行编码

2. 在NDK r5版本以上就可以了。

但在之前的版本中还是不能支持,因为之前的版本是用iso-8859-1的格式进行编码的。 这样就需要我们手动转码。 所以还是推荐升级NDK吧。

时间: 2024-10-03 21:41:37

JNI日志调试和中文乱码的相关文章

Cocos2d-x 3.1.1 学习日志4--cocos2d-x解决中文乱码问题的几种办法

做个打飞机的游戏,由于版本太新,网上基本没有教教程,我的版本是cocos2d-x 3.1.1的,今天遇到cocos2dx中中文乱码的问题.无奈只好Google百度寻求答案,明白了这个问题的缘由.因为cocos2d-x内部是以utf8处理文本的,而VS直接输入时文本编码为GBK,如果添加L标志,则为Unicode编码. 解决这个问题有三种办法: 将源代码文件保存为utf8编码,不过由于编译器的问题,这种方式会导致很多无法预测的问题 将字符串用utf8编码集中存到一文件中,然后用代码读取这些字符串来

jni中字符转换中文乱码的处理方法

转自:http://blog.sina.com.cn/fangaosjtu 这两天在学习使用jni,在java程序中,调用海量词典的dll.利用jni的GetStringChars函数和NewString函数时,遇到了中文乱码的问题,折腾了一个晚上.查阅了一些资料,总结如下: 一.相关概念 java内部是使用16bit的unicode编码(UTF-16)来表示字符串的,无论中文英文都是2字节: jni内部是使用UTF-8编码来表示字符串的,UTF-8是变长编码的unicode,一般ascii字符

cmd输出的日志里有中文乱码的解决办法

在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码. 修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题: 1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001 2.修改cmd窗口字体属性,在命令行标题栏上点击右键,选择”属性”->”字体”,将字体修改为”Lucida Console”,点击确

idea mybatis打印日志sql语句中文乱码

打印日志: 在mybatis配置文件中加 <settings> <setting name="logImpl" value="STDOUT_LOGGING" /> </settings> 中文乱码处理: -Dfile.encoding=UTF-8 原文地址:https://www.cnblogs.com/mwlyyy/p/12098577.html

IntelliJ IDEA 中文乱码问题解决办法

自己最近在使用IntelliJ IDEA,发现总是出现中文乱码的问题,在网上找了很多教程,发现真是“天下文章一大抄”.还不如自己动手试着解决一下. 1.编辑器以及调试信息中文乱码问题 解决方案: 选择:File->settings->Editor->File Encoding 然 后在右边IDE Encoding处选择UTF-8,以及Project Encoding 处也选择UTF-8编码.这样,新建的文件就会以UTF-8编码形式建立,不会再出现中文乱码的情况.如果直接打开有些文件,同时

解决CentOS7中文乱码(包括Tomcat日志乱码)问题

Linux系统中文语言乱码,是很多小伙伴在开始接触Linux时经常遇到的问题,而且当我们将已在Wndows部署好的项目搬到Linux上运行时,Tomcat的输出日志中文全为乱码(在Windows上正常),看着非常心塞,那么我们应该怎么解决呢? 系统中文乱码   Tomcat输出日志中文乱码 系统环境 CentOS 7.0 64位 jdk-8u11-linux-x64. apache-tomcat-8.5.16 解决步骤: 1.安装中文语言包 先查看系统是否有安装中文语言包 # locale -a

cmd命令行中logcat输出日志中文乱码

在命令行使用adb logcat命令直接输出日志中文内容显示乱码,原因是中文系统中cmd命令行窗口默认的编码是GBK,而LogCat打印的日志是UTF-8编码,所以adb logcat命令输出的中文内容显示乱码. 修改cmd命令行窗口字符编码即可解决logcat日志中文显示乱码问题: 1.cmd命令行窗口字符编码切换为UTF-8,命令行中执行:chcp 65001 2.修改cmd窗口字体属性,在命令行标题栏上点击右键,选择”属性”->”字体”,将字体修改为”Lucida Console”,点击确

Tomcat日志中文乱码问题解决

Tomcat 日志中文乱码 在配置文件/usr/local/tomcat/bin/catalina.sh大概在230多行左右添加绿框内容,注释红框内容,重启Tomcat即可解决乱码问题 Tomcat服务器记录日志(Logger)出现中文乱码问题,解决办法:修改Tomcat的bin目录下的catalina.sh文件,找到以下代码:if [ -z "$LOGGING_MANAGER" ]; thenJAVA_OPTS="$JAVA_OPTS -Djava.util.logging

日志中文乱码处理,请求乱码,响应乱码,保存数据到数据库乱码

1.日志乱码处理 中文乱码需要修改四个部分:1.idea安装目录下的bin/idea64.exe.vmoptions和bin/idea.exe.vmoptions追加-Dfile.encoding=UTF-8 2.log4j对应的properties文件中需要增加log4j.appender.F.Encoding=utf-8(其中F是自定义的) 3.idea–>setting–>File encoding–>修改三处编码集为UTF-8 4.发布服务器修改,edit configurati