株式会社エスロジカル
株式会社エスロジカル
セキュリティプロダクツ提供
Web開発、システム開発、UNIXシステム構築
個人情報保護方針

技術ドキュメント

技術ドキュメント目次 -> UNIX の C言語 -> iconv()で文字コード変換

本技術ドキュメントは、ここしばらくメンテナンスをしておりません。
内容が古くなっている可能性などございますこと、ご理解を頂けますようお願いいたします。



[オススメ] 国内最安のSSL証明書(RapidSSL 2880円、ジオトラスト 10500円、ベリサイン 39900円)
[オススメ] SSL証明書のアフィリエイトプログラム(最大11700円/1件の報酬を獲得いただけます)

◆ iconv()で文字コード変換

iconv() 関数を用いるとことで、
UNIXのC言語のプログラム内から文字コードの変換を行うことができます。

◆ iconv()サンプルプログラム

文字列をEUCからSJISに変換する簡単なサンプルを次に記載しますので、
よろしければ参考にされてください。

※RedHat Linux 7.3 と FreeBSD 5.3 でコンパイルが通ることを確認しました。
ただし、FreeBSD ではデフォルトで iconv が入っていないことも多いと思いますので、
例えば次のようにして iconv 関連をportsからインストールする必要があるかもしれません。

portinstall -PP iconv
portinstall -PP libiconv

また、その場合、
次のようにして gcc を実行して /usr/local/以下のライブラリやヘッダファイルが参照されるようにしましょう。

gcc -I/usr/local/include/ -L/usr/local/lib/ -liconv -o iconvsample iconvsample.c

/*
 * iconvsample.c
 *
 * Copyright (C) 2006-2008 Slogical Corporation. All Rights Reserved.
 */

#define MYBUFSZ 1024

#include <stdio.h>
#include <iconv.h>

int main (int argc, char **argv) {

        /* 変数定義
         */
        iconv_t ic;
        char    str_in[MYBUFSZ+1];
        char    str_out[MYBUFSZ+1];
        char    *ptr_in  = str_in;
        char    *ptr_out = str_out;
        size_t  mybufsz = (size_t) MYBUFSZ;

        /* 変換元文字列を作成(このソースはEUCで書かれていて、変換元文字列もEUCで作成される)
         */
        strcpy(str_in, "テストの文字列。あいうえお。アカサタナ。");

        /* 文字コード変換処理
         */
        ic = iconv_open("SJIS", "EUC-JP");
        iconv(ic, &ptr_in, &mybufsz, &ptr_out, &mybufsz);
        iconv_close(ic);

        /* 文字コード変換された文字列を出力
         */
        printf("%s\n", str_out);

        return 0;
}




■ UNIX の C言語 についての他のドキュメント


■ 他のグループのドキュメント

Apache  /  Linux  /  FreeBSD  /  OpenSSL  /  Perl  /  HTTPプロトコル  /  Jakarta Tomcat  /  Java  /  NetBSD  /  Oracle  /  PostgreSQL  /  UNIX の C言語  /  UNIX のコマンド  /  Windows  /  bind  /  システム運用TIPS

アンケートにご協力をお願いいたします。

1. この技術ドキュメントへの評価をご選択ください。
大変良い  良い  普通  悪い  大変悪い  ノーコメント

2. ご感想をご自由にお書きください。



自社運営サイト: SSL証明書 / 改ざん検出 / 秘密分散法 / 暗号化ソフト / OpenIDサイト一覧 / IPアドレス表示 / リンク切れチェック / RapidSSL / ジオトラスト / ベリサイン / SSL

Copyright (C) 2006-2008 Slogical Corporation. All Rights Reserved.
ご意見などは、こちらのお問い合わせ用ページ からお願いいたします。

本サイト上の文書で記載または紹介している会社名、商品名は一般に各社の商標または登録商標です。
本サイト上の文書中では、TM マークおよび R マークを明記していない場合があります。