Хорошая цель с самого начала - основанная на характере вашего сайта, я нашел много ресурсов по этому поводу в Googling - вы, конечно, не первый в этом разбираетесь.
Предполагается, что у мистического PHP6 все это выпрямилось, правда?
Вы можете в значительной степени установить utf-8 в качестве глобальной кодировки по умолчанию для mysql на уровне сервера, и она по умолчанию будет правильно соответствовать более гранулированных уровней.
вы можете попробовать отключить буферизацию в stdout с помощью
setbuf(stdout, NULL);
Кажется, что вывод вашей программы буферизирован. Попробуйте включить буферизацию строк явно:
setlinebuf(stdout);
Как и @thejh, ваш поток, похоже, забуферирован. Данные еще не записаны в контролируемую последовательность.
Вместо того, чтобы возиться с настройкой буфера, вы можете вызвать fflush
после каждой записи, чтобы извлечь выгоду из буфера и по-прежнему принудительно использовать требуемое поведение / отображение.
printf( "Enter first integer\n" );
fflush( stdout );
scanf( "%d", &i1 );