Foros del Web » Programando para Internet » PHP »

Problema con los acentos de la base de datos y GET

Estas en el tema de Problema con los acentos de la base de datos y GET en el foro de PHP en Foros del Web. Hola, os expongo mi problema a ver si alguno me puede ayudar: Dispongo de un select donde salen todas las categorías de una base de ...
  #1 (permalink)  
Antiguo 01/02/2012, 10:30
Avatar de shinrak  
Fecha de Ingreso: noviembre-2011
Mensajes: 49
Antigüedad: 12 años, 5 meses
Puntos: 5
Problema con los acentos de la base de datos y GET

Hola, os expongo mi problema a ver si alguno me puede ayudar:

Dispongo de un select donde salen todas las categorías de una base de datos, en dicha base de datos los nombres de las categorías que tienen acento como por ejemplo "Óptica" están escritos así: "Óptica".

EL caso es que cuando cambias el select te recarga la página enviando una variable llamada cat con el contenido del nombre de la categoría y cuando formulo el select, si veo que el nombre de la cat es igual que la categoria, escribo SELECTED:

Código PHP:
Ver original
  1. <select name='cat' size='1'>
  2.       <option value='todas'>Todas</option>
  3. $queryb = "SELECT * FROM categorias;";                                                          $resultb = mysql_query($queryb);
  4. $numb = mysql_num_rows($resultb);
  5. if ($numb > 0){
  6.      for ($j=0; $j<$numb; $j++){
  7.           $rowb = mysql_fetch_array($resultb);
  8.           $categoria = $rowb['nombre'];
  9.           print "<option value='$categoria'"; if ($categoria == $cat) { print "selected=selected"; } print ">$categoria</option>";
  10. }} ?>
  11. </select>

El problema que tengo, que cuando llega una categoría sin acento, el selected se me queda bien puesto en la categoría que estamos pero si llega una categoría con acento, no me los da por igual. (Aunque haga un print de &cat y &categoria salen iguales).

¿Alguna sugerencia?
  #2 (permalink)  
Antiguo 01/02/2012, 11:13
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con los acentos de la base de datos y GET

Para evitar esos problemas:

1- Usa el mismo juego de caracteres (charset) para la base de datos, para guardar tus archivos y para aplicar en la etiqueta meta
2- Al cumplir con el paso anterior, no tendrás necesidad de guardar Ó como &Oacute; y tampoco tendrás que codificarlo para que se vea bien en la página
3- No uses el nombre de categoría para enviarlo por GET, mejor usa su ID, porque supongo que tiene una ID numérica, cierto?
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 01/02/2012, 11:32
Avatar de shinrak  
Fecha de Ingreso: noviembre-2011
Mensajes: 49
Antigüedad: 12 años, 5 meses
Puntos: 5
Respuesta: Problema con los acentos de la base de datos y GET

Cierto, mejor usar el ID... estoy colapsado mira que no pensar en eso.. .muchas gracias Triby.

El tema de la codificación también esta controlado, pero cuando hago includes y demás a veces falla en depende que navegador, por eso decido hacerlo a la antigua con la codificación.

Etiquetas: acentos, mysql, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:25.