【GUI】wxWidgets(旧wxWindows) その5【サイザー】 (960レス)
【GUI】wxWidgets(旧wxWindows) その5【サイザー】 http://mevius.5ch.net/test/read.cgi/tech/1270793556/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
107: デフォルトの名無しさん [sage] 2010/11/27(土) 02:06:26 >>106 あ、書き忘れてましたね、すいません。 入力はマルチバイト(char)のShiftJIS、欲しい出力はマルチバイト(char)のUTF-8で、 wxはDebian etchのものなのでUnicodeビルドです。 上のコードはもちろん試しました。 で、そこからどうすればchar型のUTF-8が得られるのか、もしくは別の方法を使うべき なのかで悩んでいるのが現状です。 ちなみに、成功例はこちら #include <glib.h> char *utf8_str = g_convert(sjis_str, -1, "utf-8", "cp932", NULL, NULL, NULL); で、これと同等のことをwxで行うにはどう書けばいいか?という質問です。 (この前後にwxベースのコードとやりとりするための処理が入るのですが、それが また汚いので、できれば回避したいです…) http://mevius.5ch.net/test/read.cgi/tech/1270793556/107
114: 107 [sage] 2010/11/27(土) 15:03:23 http://ja.pastebin.ca/2003497 少なくともUbuntu 10.10では、wxCSConvでちゃんとcp932からUTF-8への変換ができたよ。 Debian etch とか古すぎて使う気にならないけど。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/114
118: 107 [sage] 2010/11/27(土) 18:21:41 fmapbaseの中にwxFONTMAP_CP932のエンコーディング名として最初にWINDOWS-932という 文字列が登録されていて、iconv にはこの名前のエイリアスが登録されていないから iconv に 失敗する、、、んだけど、iconv_open に失敗したらWINDOWS-932の次のCP932が利用されるように 見える。なのに失敗してる。 深追いはしてないからどこでコケてるのか判らないけど、とりあえず wxCSConv にはエンコーディング名を 直接渡したほうが、その名前が直接 iconv に渡るから落とし穴が少なそう。 http://mevius.5ch.net/test/read.cgi/tech/1270793556/118
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.041s