Como escapar string do PHP para javascript?

lets imaginam um editor de formulários, ele pode editar os valores disponíveis. Se os dados contiverem"aractere @ (aspas duplas) "destrói" o código HTML. Eu quis dizer, vamos verificar o código: então eu gero HTML:

onclick="var a = prompt('New value: ', '<?php echo addslashes($rec[$i]); ?>'); if (a != null)....

e resulta em

onclick="var a = prompt('New value: ', 'aaaa\"aaa'); if (a != null) { v....

e isso torna o trabalho do JS impossível, de modo que isso estraga o código. Com qoute único' funciona bem.mysql real escape faz o mesmo. Como escapar qualquer string para que não estrague o javascript?

json_encode parecia bom, mas devo estar fazendo algo errado, ainda é ruim: veja uma captura de tela como o Firefox a vê - insere uma citação dupla "ruim"! O valor é apenas um número simples:

http: //img402.imageshack.us/img402/5577/aaaahf.gi

e eu usei:

('Ird be az új nevet:', <?php echo json_encode($rec['NAME']); ?>); if (a) { 

questionAnswers(4)

yourAnswerToTheQuestion