关于js传递中文问题怎么处理

代码

 str="<ul><li class='listArr' style='width:70%;'><a  href='javascript:openKnow("+item.id+","+item.kn_title+")' title='"+item.context+"'>"
                    +"<span class='textSlice' style='width:280px;'>"+item.context+"</span></a></li>"

报错:ReferenceError: java\u6280\u672F is not defined
javascript:openKnow(111,java%E6%8A%80%E6%9C%AF)
Line 1

item.kn_title 是中文的,alert(item.kn_title)是可以alert出来,这个地方如何处理,往大神请教

字符串要用引号括起


str = "<ul><li class='listArr' style='width:70%;'><a  href='javascript:openKnow(" + item.id + ",\"" + item.kn_title + "\")' title='" + item.context + "'>"

加个escape编码一下

 <a  href='javascript:openKnow("+item.id+","+escape(item.kn_title)+")' title='"+item.context+"'>"