En casos similares a los que indica estibaliz2006 yo lo he solucionado de la forma siguiente:
Código PHP:
urlencode($row["nombre"])
Para tu caso, sustituye tu $row[obra] por urlencode($row[obra])
Seguro que hay otras formas, pero esta (a mí), me funciona.
PD: creo que, en el tema de comillas (como indica sergi_climent) también puedes tener algun conflicto.
EDITO PARA AÑADIR ACLARACION:
--------------------------------
No creas que la función urlencode() te va a codificar de una forma rara tu texto. Mira como funciona, con el siguiente ejemplo:
si el texto al que le pasas la funcion urlencode es: Obra de Prueba (ejemplo que tú pones) al pasarla por url verás que muestra Obra+de+Prueba . Luego no te preocupes al recibirla por get, ya que recibirás Obra de Prueba (sin los signos +).