当前位置: 代码迷 >> 综合 >> 带有中文显示名称的Email帐号只能显示前面十位。
  详细解决方案

带有中文显示名称的Email帐号只能显示前面十位。

热度:7   发布时间:2024-01-19 20:42:22.0
将函数srv_email_msg_query_addr_func中以下代码中乘以2的地方换成乘以4 
 if (mmi_wcslen(addr->disp_name) != 0) 
 { 
 temp_name = (CHAR*)get_ctrl_buffer((SRV_EMAIL_MAX_DISP_NAME_LEN + 1) * 2);//*4 
 memset(temp_name, 0, (SRV_EMAIL_MAX_DISP_NAME_LEN + 1) * 2);//*4 
 mmi_chset_convert(CHSET_UCS2, CHSET_UTF8, (S8*)addr->disp_name, temp_name,
(SRV_EMAIL_MAX_DISP_NAME_LEN + 1) * 2);//*4 
 rfc2047_encode_string((S8*)temp_name, strlen(temp_name), (S8*)data->disp_name, &addr->disp_name_len, 0, CHSET_UTF8); 
 free_ctrl_buffer(temp_name); 
 }