Раньше всегда программировал в кодировке koi8-r и не сталкивался с подобным.В общем проблема в следующем. Есть некий код в кодировке koi8:Код:#include #include int main(int argc, char *argv[]){ char s[20], str[20]; strcpy(s,"Привет"); sprintf(str,"strlen='%d'\n",strlen(s)); printf(str); return 0;}Вывод вполне логичный и правильный.Цитироватьstrlen='6'Но стоит только перевести этот код в кодировку utf8 (с помощью всем известной утилиты iconv), то вывод:Цитироватьstrlen='12'Мне хотелось бы услышать рекомендаци по тому как именно программировать, что бы таких ситуаций не возникало. Просто приходится часто менять локаль (то koi8-r, то utf8), как это учитывать или как это избежать? Или придется писать в koi8-r?PS не ругайте, если что ) просто я немного ошеломлен )
|