文字列がデータベースに保存される方法に非常に奇妙な問題があり、その結果、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>
通常、これは機能しますが、データベースから取得したフィールドの 1 つに次のデータが含まれていることに気付きました。これにより、文字列が適切に形成されません。
データベース フィールドはNVARCHAR(2000)です。
一部のエントリでは、データベースからメモ帳にコピーして貼り付けると、文字列にこれらの奇妙な文字が表示されます。
コンパイル?分析?&?推奨? デッキ
Firebug では、一連の改行として表示されます。
分析と推奨デッキ","StartDate":"1/19/10","FinishDate":"1/26/10","Duration":6.0,"
コンパイル解析 & おすすめデッキ
更新 ユーザーと話した後、私は彼らがワード文書から HTML フォームへのコピーと貼り付けを使用していることを発見しました。
フォーム自体は、YUI 接続マネージャーを使用して非同期 POST 呼び出し (AJAX) を行い、フォームの値を保存します。データベースは、フォーム フィールドの値をそれに関連付けられているエンコーディングと共に保存しました。
Word には印刷可能ですが、ASCII には印刷できない文字があるようです。これを検出して正しくエンコードする方法はありますか?