Com base na resposta correta, mas levando em consideração os caracteres de controle ASCII, a solução que funcionou para mim é a seguinte:
SELECT * FROM `table` WHERE NOT `field` REGEXP "[\\x00-\\xFF]|^$";
Ele faz o mesmo: pesquisa violações do intervalo ASCII em uma coluna, mas permite pesquisar caracteres de controle também, pois ele usa notação hexadecimal para pontos de código. Como não há comparação ou conversão (diferente da resposta de @ Ollie), isso também deve ser significativamente mais rápido. (Especialmente se o MySQL fizer o encerramento antecipado na consulta regex, o que definitivamente deveria.)
Também evita retornar campos com comprimento zero. Se você deseja uma versão um pouco mais longa que possa ter um desempenho melhor, use-a:
SELECT * FROM `table` WHERE `field` <> "" AND NOT `field` REGEXP "[\\x00-\\xFF]";
Ele faz uma verificação separada do comprimento para evitar resultados de comprimento zero, sem considerá-los para um passe de regex. Dependendo do número de entradas de tamanho zero que você possui, isso pode ser significativamente mais rápido.
Observe que, se o conjunto de caracteres padrão for algo bizarro, em que 0x00-0xFF não mapeie para os mesmos valores que ASCII (existe um conjunto de caracteres em algum lugar?), Isso retornaria um falso positivo. Caso contrário, aproveite!