jstring CharsToString(JNIEnv *pEnv, const char *pChars, const char *pEncoding = "GB2312")
{
jclass clazz = pEnv->FindClass("java/lang/String");
jmethodID methodID = pEnv->GetMethodID(clazz, "<init>", "([BLjava/lang/String;)V");
jbyteArray bytes = pEnv->NewByteArray(strlen(pChars));
pEnv->SetByteArrayRegion(bytes, 0, strlen(pChars), reinterpret_cast<const jbyte *>(pChars));
jstring strEncoding = pEnv->NewStringUTF(pEncoding);
jobject objString = pEnv->NewObject(clazz, methodID, bytes, strEncoding);
pEnv->DeleteLocalRef(strEncoding);
pEnv->DeleteLocalRef(bytes);
return reinterpret_cast<jstring>(objString);
}