como puedo hacer para que al buscar atraves de un formulario creado en php pueda buscar datos que tengo dentro de la base de datos de msql.. sin que distinga entre mayusculas ni en minuscula.. que de la forma que este escrito me arroje el mismo resultado..
debo crear una base de datos con alguna caracteristica especial
desde ya muchas gracias,.

distinguir entre mayuscula y minusculas al realizar una busqueda
Comenzado por
andrescito
, ene 12 2012 04:46
2 respuestas en este tema
#1
Escrito 12 enero 2012 - 04:46
#2
Escrito 12 enero 2012 - 05:03
Yo lo que hago para solucionar este detalle es hacer mis búsquedas haciendo un UPPER del campo, es decir que convierta el valor almacenado en mayúsculas y desde el sistema (delphi en mi caso) obligo a que también el valor que intento encontrar esté escrito en mayúsculas...
Aclaro que lo de "convertir el valor a mayúsculas" sólo aplica al momento de buscar, realmente el valor almacenado no pierde el formato en el que fué guardado...
Saludox !
Aclaro que lo de "convertir el valor a mayúsculas" sólo aplica al momento de buscar, realmente el valor almacenado no pierde el formato en el que fué guardado...

Saludox !

#3
Escrito 13 enero 2012 - 07:10
Aqui entra en juego los charsets y collates de la BD MySQL, generalmente para esos fines siempre se utiliza el Charset utf8 y el collate utf8_general_ci o utf8_spanish_ci (donde _ci significa case insensitive), dejo unas muestras y tu eliges la que mas te adapte:
1. No distinga Mayuscula, Minusculas y Acentos (OJO: la BD debe ser utf8 y la tabla utf8_general_ci o utf8_spanish_ci), en este caso solo realizas una consulta normal:
2. Distinga Mayusculas, Minusculas y acentos:
3. Distinguir acentos, sin distinguir Mayusculas y Minusculas:
Saludos.
1. No distinga Mayuscula, Minusculas y Acentos (OJO: la BD debe ser utf8 y la tabla utf8_general_ci o utf8_spanish_ci), en este caso solo realizas una consulta normal:
SELECT * FROM `TABLA` WHERE `CAMPO` = 'algo'
2. Distinga Mayusculas, Minusculas y acentos:
SELECT * FROM `TABLA` WHERE `CAMPO` = 'josé' COLLATE utf8_bin
3. Distinguir acentos, sin distinguir Mayusculas y Minusculas:
SELECT * FROM `TABLA` WHERE UPPER(`CAMPO`) = UPPER('josé) COLLATE utf8_bin
Saludos.