diff -wbBur pacman-3.0.5/src/pacman/pacman.c pacman-3.0.5.my/src/pacman/pacman.c --- pacman-3.0.5/src/pacman/pacman.c 2007-03-22 20:47:28.000000000 +0300 +++ pacman-3.0.5.my/src/pacman/pacman.c 2007-06-28 19:45:35.000000000 +0400 @@ -436,6 +436,11 @@ MSG(NL, _("warning: current locale is invalid; using default \"C\" locale")); } + if(getenv("LC_CTYPE") == NULL) + { + setlocale(LC_CTYPE, getenv("LC_ALL")); + } + /* workaround for tr_TR */ if(lang && !strcmp(lang, "tr_TR")) { setlocale(LC_CTYPE, "C"); diff -wbBur pacman-3.0.5/src/pacman/util.c pacman-3.0.5.my/src/pacman/util.c --- pacman-3.0.5/src/pacman/util.c 2007-03-13 19:15:38.000000000 +0300 +++ pacman-3.0.5.my/src/pacman/util.c 2007-06-28 19:44:00.000000000 +0400 @@ -235,7 +235,7 @@ alpm_list_t *i; int cols, len; - len = strlen(title); + len = mbstowcs(NULL, title, 0); printf("%s ", title); if(list) {