原生端方面。oc调用js传递参数。中文会出现乱码。要怎么解决。
你是怎么调用的?能否贴一下代码?
贴代码不要用图片啊。。。。这样我怎么复制粘贴你的代码去测试啊。。。 阅读也不方便。
试试把 utf8 转为 utf16
NSString *json2 = [NSString stringWithFormat:@"{\"city\":\"%@\", \"address\":\"%@\", \"latitude\":\"%@\", \"longitude\":\"%@\"}",city,address,latitude,longitude];
json2=[json2 stringByReplacingOccurrencesOfString:@"\"" withString:@"'"];
NSLog(@"string1111: %@",json2);
//NSString *str2 = [json2 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
const char* data = [json2 UTF8String];
//NSLog(@"##### %@", str2);
const char* lis = [m_listener UTF8String];
cocos2d::log("----%s",data);
std::string jsCallStr = cocos2d::StringUtils::format("cc.eventManager.dispatchCustomEvent(\"%s\", {a:\"%s\"});", lis, data);
cocos2d::log("===%s",jsCallStr.c_str());
cocos2d::Director::getInstance()->getScheduler()->performFunctionInCocosThread([=](){
NSLog(@"xxxxxxxx");
jsval ret;
ScriptingCore::getInstance()->evalString(jsCallStr.c_str(), &ret);
});
是c++ utf8转utf16吗
是,转换成 utf16 再传给 JS
要怎么转呢?网上看的一些都是win环境下的。xcode下的呢?
