我在字符串存储在数据库中的方式上遇到了一个非常奇怪的问题,因此,我在 Javascript 中遇到了这些“未终止的字符串文字”错误。
以下是我正在做的事情的概述:
平台:C#/ASP.NET MVC 1.0、SQL Server 2005、SparkViewEngine、YUI 2
在我看来,我使用 NewtonSoft 的 Json.NET 将对象序列化为 JSON 数据结构。
<script type="text/javascript">
// <![CDATA[
var data = YAHOO.lang.JSON.parse("${Newtonsoft.Json.JsonConvert.Serialize(Model)}");
....
</script>
通常,这是可行的,但我注意到我从数据库中提取的字段之一包含以下数据,这导致字符串无法正确形成。
数据库字段是NVARCHAR(2000)。
对于某些条目,当我从数据库复制并粘贴到记事本时,我会在字符串中得到这些奇怪的字符。
编译?分析?&?建议?甲板
在 Firebug 中,它显示为一堆换行符:
分析与建议甲板","StartDate":"1/19/10","FinishDate":"1/26/10","Duration":6.0,"
编译分析 推荐甲板
更新 与用户交谈后,我发现他们正在使用从 word 文档复制和粘贴到 HTML 表单。
表单本身使用 YUI 连接管理器进行异步 POST 调用 (AJAX) 以保存表单值。数据库保存了表单字段值以及与之关联的任何编码。
似乎 Word 中有可打印的字符,但不是 ASCII 字符。有没有办法检测到这一点并正确编码?