亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 9052 | 回復(fù): 4
打印 上一主題 下一主題

[函數(shù)] AIX 字符集轉(zhuǎn)換,用iconv函數(shù)轉(zhuǎn)換失敗,用命令行卻可以轉(zhuǎn)換成功 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2009-07-20 10:21 |只看該作者 |倒序瀏覽
#include <iconv.h>
#include <iostream>
#include <stdio.h>

using namespace std;

bool UTF_8ToGB2312(char* pDst, char* pSrc)
{
    iconv_t conv;
    size_t uSrcLen;
    size_t uDstLen;

    //strerror(errno)的值,當字符集名稱全為大寫時是Invalid wide character,否則為Invalid argument
    conv = iconv_open("GB2312","UTF-8");
    if(conv == (iconv_t)-1)
    {
        return false;
    }
   
    uSrcLen = strlen(pSrc);
    uDstLen = 200;
    memset(pDst, 0x00, uDstLen);

    if (-1 == iconv(conv, &pSrc, &uSrcLen, &pDst, &uDstLen))
    {
        iconv_close(conv);
        return false;
    }
  
    iconv_close(conv);
    return true;
}

int main()
{
    char *strUtf = "璋冪敤緋葷粺寮傚父錛岃?閲嶆柊灝濊瘯銆?";
    char strGb[200];
   
    if (UTF_8ToGB2312(strGb, strUtf))
    {
        cout<<strGb<<endl;
    }
    else
    {
        cout<<"failed"<<endl;
    }
    return 0;
}



用iconv -l查看,GBK和UTF-8都是有的。

另外,用命令行iconv -f UTF-8 -t GB2312 my.txt,是可以轉(zhuǎn)換成功的,所以應(yīng)該不是機器本身字符集的問題吧。

誰遇過類似的問題,大家?guī)蛶兔Γ?br />
[ 本帖最后由 lingat242 于 2009-7-20 10:31 編輯 ]

論壇徽章:
0
2 [報告]
發(fā)表于 2009-07-20 18:36 |只看該作者
char *strUtf = "璋冪敤緋葷粺寮傚父錛岃?閲嶆柊灝濊瘯銆?";

問題可能出現(xiàn)這句. 可以把這里改為從文件讀入UTF8字符串試一試啊.
.

論壇徽章:
0
3 [報告]
發(fā)表于 2009-07-21 10:55 |只看該作者

回復(fù) #2 violet_kz 的帖子

試過了,也不行。
而且,現(xiàn)在是還沒開始轉(zhuǎn)換,在iconv_open就已經(jīng)失敗了,應(yīng)該不是字符串的問題吧。

論壇徽章:
0
4 [報告]
發(fā)表于 2009-08-03 14:44 |只看該作者
仍然沒有進展……

論壇徽章:
0
5 [報告]
發(fā)表于 2009-10-27 15:30 |只看該作者
這個問題我也遇到了.... 非常之郁悶.

首先確定aix里默認的編碼方式 locale -a   我這邊默認用c的語言環(huán)境, 也就是ISO8859-1
寫了個文件
使用iconv -f UTF-8 -t ISO8859-1 abc.txt (abc.txt文件里的字符是utf-8的), 可以成功.
使用c程序調(diào)用iconv就不成了.....
同意二樓的看法, 應(yīng)該是賦值操作那里的問題.

另, 對于可取的編碼方式, 可以通過iconv -l進行查看, 如果不存在的就不要往iconv的參數(shù)里寫了, 會報錯的, 說是參數(shù)非法

有沒有高手來解說下, 謝謝了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP