我理解你的意思,但是你误会操作流程了,其实在cpp里已经是规格的utf-8转gb2312操作了
解决方案 »
- 令人纠结的ExpandableListView的onChildClick事件无法跳转
- 音乐播放进度条问题
- 关于程序启动问题
- 100分求一个简单的例子。。。。图像移动。。。。
- 有没有用Google手机的啊?
- Activity的跳转问题 intent的携带数据
- Android和javaweb通信中response.getHeader()乱码问题求破
- 安卓怎么取出xml中的注释部分 和怎么把注释部分写进xml文件中
- imx6开发板上,插拔鼠标时,会引起Activity重新加载
- Android studio问题:链接数据库异常,单独建类可以输出,但是总是报connection和statement的错误
- 请大侠提供一个Android中显示ppt的解决办法.
- 【o(︶︿︶)o 】User Dictionary 的使用问题
读一下再看代码,永远都是拿来主义,那怎么能进步?
bool handleString(char* name)
{
jstring rtnname = 0;
int slenname = strlen(name);
unsigned short * namebuffer = 0;
if( slenname == 0 )
rtnname = mEnv->NewStringUTF(name);
else
{
wchar_t* wname = NULL;
setlocale(LC_ALL,"");
namebuffer = (unsigned short *)malloc(namelength*2 + 1 );
if((rtnname = mEnv->NewString( (jchar*)namebuffer, namelength )) == NULL)
return false;
if( namebuffer )
free(namebuffer );
}
return true;
}
bool isASCII(const char* chp)
{
char ch;
bool flag;
while ((ch = *chp++))
{
flag = false;
if (ch & 0x80)
{
flag = true;
break;
}
}
return flag;
}
bool handleString(char* name)
{
jstring rtnname = 0;
int slenname = strlen(name);
unsigned short * namebuffer = 0;
if( slenname == 0 )
rtnname = mEnv->NewStringUTF(name);
else
{
wchar_t* wname = NULL;
setlocale(LC_ALL,"");
//sorry,i forgot it
int namelength=mbstowcs(wname,name,strlen(name)*2);
namebuffer = (unsigned short *)malloc(namelength*2 + 1 );
if((rtnname = mEnv->NewString( (jchar*)namebuffer, namelength )) == NULL)
return false;
if( namebuffer )
free(namebuffer );
}
return true;
}
bool isASCII(const char* chp)
{
char ch;
bool flag;
while ((ch = *chp++))
{
flag = false;
if (ch & 0x80)
{
flag = true;
break;
}
}
return flag;
}
no no no~ 编码本身不能说是错误,人家编码编的好好的,都是打开文件的时候,解码出的错。