|
From: Tomohiro K. <tk...@ri...> - 2002-03-18 15:55:31
|
どうも。久保田です。
curses を使うと、mlterm が文字化けします。ncurses の責任かも
しれないので、そちらで試していただけないでしょうか。
まずは、EUC-JP で、
dialog --msgbox あいうえお 8 20
とか
whiptail --msgbox あいうえお 8 20
とかを、試してみてください。kterm などでは、正しく日本語の
メッセージボックスが表示されますが、mlterm では、「あいうえお」
の 8 ビット目を落とした文字列「$"$$$&$($*」が表示されます。
そして、それ以降、その mlterm は日本語が表示されなくなります。
次に、以下のプログラムを実行してみてください。やはり、
日本語が表示されず、実行以降は日本語が表示されなくなります。
/* TEST OF NCURSES */
/* 1999/9/1 Tomohiro KUBOTA */
/* cc test1.c -o test1 -lncurses */
#include <curses.h>
int main(int argc, char **argv)
{
/* initialize screen */
initscr();
/* move to LINES/2, COLS/2 */
move(LINES/2, COLS/2);
/* write to screen */
addstr("あいうえお");
/* update screen */
refresh();
/* getch();*/
/* Lack of this makes the terminal curious! */
/* Type 'stty sane' to recover! */
/* endwin();*/
}
また、EUC-JP ばかりではなく、たとえば ISO-8859-1 でも、
8 ビット目が落とされた文字列が表示されるようになってしまいます。
あ、いま試してみると、TERM=kterm のときは大丈夫で、TERM=xterm
だとだめです。
---
久保田智広 Tomohiro KUBOTA <ku...@de...>
http://www.debian.or.jp/~kubota/
"Introduction to I18N" http://www.debian.org/doc/manuals/intro-i18n/
|