Hola
Como bien dicen es un dolor de cabeza, por lo general es recomendable (o por lo menos eso es mi premisa) de usar todo en utf-8 que es lo mas universal que existe, y evita muchos dolores de cabeza.
Pero hay casos en que la data puede estar determinada en otros tipos de codificación, para eso suelo usar el
set names con el cual se puede jugar con lo que se envía y recibe del servidor sin tocar las tablas ni la DB.
ejemplo
Código sql:
Ver originalmysql> SET NAMES UTF8;
Query OK, 0 ROWS affected (0.00 sec)
mysql> SELECT *
-> FROM nombres n
-> WHERE NOMBRE LIKE'%MARIA%';
+----------------+
| NOMBRE |
+----------------+
| MARIA LUCÍA |
| MARÍA |
| MARÍA FERNANDA |
+----------------+
3 ROWS IN SET (0.00 sec)
Hay mas comandos que se pueden usar
http://dev.mysql.com/doc/refman/5.0/...onnection.html
Para manipular lo que se envía y recibe.
Saludos!