Oye Te recomiendo que pases ese texto Via $_POST y no por $_GET estas son tecnicas mas seguras y asi te evitas eso de URL encode y Decode. Primero Windows linux y mac tienen diferentes tipos de encodificacion para Cada salto de linea entonces debes hacerle un parse con str_replace. repito si quieres formatearlo antes de mandarlo a la base de datos seria de la siguiente manera.
NOTA IMPORTANTE! No es eficiente hacer una consulta tan grande, Por que lo digo te estarás imaginando ? Bueno si comparas un texto que pese 64k contra una simple ID enumerador el cual identifique ese texto es mucho mejor ;) ejemplo
MANERA Eficiente
SELECT id, titulo, contenido, imagen FROM super_tabla WHERE id='5'
INeficiente!
SELECT * FROM super_tabla WHERE contenido='este es un texto de comparación de manera incorrecta y no eficiente' Código PHP:
<?
function textual($str) {
return str_replace(array("\r\n", "\r", "\n"), "<br />", $str);
// Esta funcion devuelve saltos de lineas perfectamente correctas!
}
$sql = "INSERT INTO base_datos.tabla (tabla.id,
tabla.tabla)
VALUES (NULL, '".textual($_POST['tabla'])."');";
$query = mysql_query($sql) or die('[ERROR]-> No se pudo hacer el query!');
?>