主题 : 求助kasim及各位高手:关于qtopia的编码问题 复制链接 | 浏览器收藏 | 打印
未设置
级别: 侠客
UID: 19393
精华: 0
发帖: 55
金钱: 275 两
威望: 55 点
综合积分: 110 分
注册时间: 2010-04-19
最后登录: 2011-10-09
楼主  发表于: 2010-06-10 17:45

 求助kasim及各位高手:关于qtopia的编码问题

先谢谢您的关注!

我有个这样的需求:
从配置文件读入配置项到std::map<std::string,std::string>,然后将配置显示在qtopia的应用程序的界面上,进行修改后再保存到配置文件中。
这个配置文件应该使用什么编码?

我现在的配置文件使用的UTF-8编码,读取的代码如下:
void jc_config::read_communication_config()
{
    communication_config_map.clear();

    ifstream file(COMMUNICATION_CONFIG_FILE);
    string line;
    while(getline(file,line))
    {
        int index = trim(line," \r\t").find_first_of('=');
        communication_config_map.insert(CONFIGMAP::value_type(string(line,0,index),string(line,index+1,line.length()-index-1)));
    }
}
void jc_config::show_communication_config()
{
    if(communication_config_map.find("ServerIp") != communication_config_map.end())serverip->setText(communication_config_map["ServerIp"].c_str());
    if(communication_config_map.find("ServerPort") != communication_config_map.end())serverport->setText(communication_config_map["ServerPort"].c_str());
    if(communication_config_map.find("DistrictName") != communication_config_map.end())district->setText(communication_config_map["DistrictName"].c_str());
    if(communication_config_map.find("OfficeName") != communication_config_map.end())office->setText(communication_config_map["OfficeName"].c_str());
}
在qvfb和开发板上显示出来时汉字都是乱码。
未设置
级别: 侠客
UID: 19393
精华: 0
发帖: 55
金钱: 275 两
威望: 55 点
综合积分: 110 分
注册时间: 2010-04-19
最后登录: 2011-10-09
1楼  发表于: 2010-06-12 20:38
搞定了。