2024年4月3日发(作者:)
经常碰到在脚本中有输入值是中文,或者返回值中的中文是乱码的问题,今天就抽空把这个
问题解决了。主要使用到的方法是LR自带的lr_convert_string_encoding函数。废话少说,
下面是小实验。看懂这个,就知道怎么处理中文乱码问题了。哇咔咔
1、 输入值中有中文
Action()
{
//输入值中有中文
char tmp[50];
lr_convert_string_encoding( lr_eval_string("环球影院"),
LR_ENC_SYSTEM_LOCALE,
LR_ENC_UTF8,
"str" );
lr_log_message("11str is %s",lr_eval_string("{str}"));
/*
* 据说直接转换过来的内容后面,多了x00,要通过strcpy函数复制到别的变量后再
用,才不受x00的影响。
*/
strcpy(tmp,lr_eval_string("{str}"));
//lr_log_message("str is %s",tmp);
lr_save_string(tmp,"sorvalue");
lr_log_message("str is %s",lr_eval_string("{sorvalue}"));
return 0;
}
2、返回值中有中文
Action2()
{
// 返回值中有中文
lr_convert_string_encoding(
lr_eval_string("鐧戒簯鏈哄満"),
LR_ENC_UTF8,
LR_ENC_SYSTEM_LOCALE,
"strcn" );
lr_log_message("乱码对应的中文是 %s",lr_eval_string("{strcn}"));
return 0;
}


发布评论