PHP:
header('Content-type:text/html; charset=utf-8');
$str=150;
$json=json_encode($str);
<html>
  <head>
    <script>
      str=eval(<?=$json?>)
      function func(str)
      {
        alert(str)
      }
    </script>
  </head>
  <body onload="func(str);">
  </body>
</html>
Этот код прекрасно работает. Теперь если переменной $str присвоить не число, а строку, например $str='hello', то код работать не будет. Насколько я понимаю, причина в том, что значение атрибута тега <body> onload обрамляется кавычками. 
Вопрос: как можно передать строку в качестве параметра функции в данном случае?