Vou dar uma facada muito selvagem no escuro:
O phpMyAdmin realmente acerta. O que não está funcionando é sua interface personalizada, porque não está configurando a codificação de conexão corretamente. Portanto, todos os dados que você insere por meio dele estão confusos no banco de dados, mas têm uma ida e volta limpa em seu aplicativo. phpMyAdmin insere real Dados UTF-8, que atrapalham quando recuperados por meio de sua conexão errada.
Consulte UTF-8 até o fim e Manuseando Unicode de frente para trás em um aplicativo da Web .