首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于JNI char*转jstring乱码,该如何解决

2012-11-07 
关于JNI char*转jstring乱码代码如下。我有一个全局的字符串str(char数组),要把它通过本地方法输出,但在str

关于JNI char*转jstring乱码
代码如下。我有一个全局的字符串str(char数组),要把它通过本地方法输出,但在str转化为jstring的时候出现乱码。我是在本地调用String类中的static String copyValueOf(char[] data) 方法转换的。求解答乱码原因及解决办法!
不要告诉我可以用其他办法将char数组转换为jstring,我也会其他方法,我现在就想知道这个乱码的原因及解决办法。跪求大牛解决,在线等!!!

C/C++ code
JNIEXPORT jstring JNICALL Java_test_Test2_FlushBuffer  (JNIEnv* env, jobject obj){    static char p[1024];    strcpy(p,str);    strcpy(str,"");    const jchar *jp = (jchar*)p;    jcharArray ca = env->NewCharArray(1024);    jclass jc = env->FindClass("java/lang/String");    jmethodID  methodId = env->GetStaticMethodID(jc, "copyValueOf", "([C)Ljava/lang/String;");    env->SetCharArrayRegion(ca, 0, 1024,jp);    char *a = NULL;    //puts((char*)*jp);    sprintf(a,"%d",123456);    return (jstring)env->CallStaticObjectMethod(jc,methodId,ca);    //return env->NewStringUTF(p);    }


[解决办法]
看看char[]的字符编码是不是String默认字符串编码
[解决办法]
楼主呀,这得发对版区呀,这是java区

热点排行