●●●●TCL/TKなら俺に聞け 4●●●● (541レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
466
(2): 2022/01/14(金)17:58 ID:t9iJHcg/(1) AAS
すみません、最近Tcl/Tk触り始めたんだけど、c言語で、
Tcl_FindExecutable(argv[0])
を書かないとGUIの日本語が文字化けするっていうのは常識なの?
一時間くらいハマったよ
467
(1): 2022/01/17(月)13:14 ID:OGoMBcpZ(1) AAS
>>466
[ generic/tclEncoding.c ]
Tcl_FindExecutable(
const char *argv0) /* The value of the application's argv[0]
* (native). */
{
TclInitSubsystems();
TclpSetInitialEncodings();
TclpFindExecutable(argv0);
}

・TclInitSubsystems は Tcl_CreateInterpでもコールされているので二度手間
・Tcl_FindExecutable のコールで内部エンコーディングがセットされているなんて分かりにくい

ユーザーとしては Tcl_SetSystemEncoding を使う方が意図が明らかで良いと思いました

// Tcl_FindExecutable(NULL);
Tcl_Interp *tcl = Tcl_CreateInterp();
Tcl_SetSystemEncoding(NULL, "utf-8"); // 環境変数を見に行かなくても決め打ちで良いでしょう
468: 466 2022/01/18(火)08:55 ID:OTNPHSfm(1) AAS
>>467
なるほど、おまじないの中はそういう実装だったのか。ありがとうございます。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.029s