`
zgqynx
  • 浏览: 1370524 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

未结束的字符串常量 中文引起

阅读更多
因为外部js文件中包含中文(不是语法问题),导致出现 未结束的字符串常量 脚本错误。可是如果你不知道是因为中文出了问题,那可是要费很大力气的。呵呵,看完此文,相信你能解决此问题。主要的一点是:将外部js文件另存为utf-8编码
相信有不少人也遇到过此问题

在网上找到下面的文章,问题解决。

转自:http://www.busfly.cn/csdn/post/javascript-not-end-char.html
项目在IE6下表现得不理想,害我一头汗。若不是某人用IE7,恐怕我就算天大的啤气也发不起来。是忽悠过去了,但问题还得解决。要知道IE6还是主要浏览器。回来后我在远程服务器上用IE6仔细检查出错的JS库,其提示是“未结束的字符串常量”。心里纳闷我不至于漏加个引号吧,就算我忘了给字符串加引号结束,在IE7和FireFox下同样也会出错。为什么又好得不得了呢。找到出错的那一行后真相大白……

我需要一个事件来处理用户点击按钮,把项目预警信息设为“已读”,以使预警信息框不再弹出。Jquery会调用处理脚本并返回处理信息。若处理信息为true,表示设置成功。JS代码会在DOM里指定信息元素修改HTML,也就是将“未读”设为“已读”。

function setread(id){
$.post(”result/setRead.asp”,{id:id},function(msg){
  if(msg==true){
    $(”#msgList_”+id).html(”已读“);//出错行。
  }
});
}


问题就出在这个“已读”上。中文的,郁闷了很久。DOM是UTF-8的篇码,如果JS库不是分离的独立JS文件,而是包含在DOM里的,这个问题是不会出现的。然而分离的JS文件并不是UTF-8编码,被加库到UTF-8编码的DOM里,中文就出现了乱码,并影响到引号符,使浏览器无法判断字符串结束。解决变法很简单,JS文件另存为UTF-8编码格式即可。

这点小问题差点让我在众目睽睽下出大糗。
分享到:
评论

相关推荐

    JavaScript 未结束的字符串常量常见解决方法

    在JavaScript编程过程中,有时会遇到一个常见的错误提示:“未结束的字符串常量”。这通常意味着在你的代码中,字符串没有被正确地关闭,即没有找到与开头的引号相匹配的结束引号。这种错误可能由多种原因引起,下面...

    IE6下出现JavaScript未结束的字符串常量错误的解决方法

    乱码可能会影响引号的解析,导致浏览器无法正确识别字符串的结束位置,从而报出“未结束的字符串常量”的错误。 文章提供了几种解决方案。首先是把JavaScript文件另存为UTF-8编码格式。这通常能够解决问题,因为UTF...

    字符串知识点总结.docx

    这样的字符串在内存中会自动添加一个`\0`作为结束符,因此 `strlen(arr)` 返回6,而 `sizeof(arr)/sizeof(arr[0])` 为6,包括结束符。 字符串的常见操作有以下几种: 1. `strcmp()` 函数用于比较两个字符串的大小...

    C语言中字符数据的输入与输出问题解析.pdf

    而字符串常量如"AB",在内存中占用的字节数则是字符串长度加1,最后一个字节存放字符串结束标记'\0'。字符串的存取操作不能直接以变量的形式进行,必须通过字符数组来实现。例如,char a[5]; 可以存储最多4个字符的...

    巧用DW判断字符串中是否有换行

    这可能导致程序运行时出现“未结束的字符串常量”这样的错误。 在DW的代码视图中,你可以清晰地看到字符串中的每个字符,包括换行符。换行符通常会显示为一个空格或者一个明显的断行,使得你能够快速定位并删除它们...

    pfisterer-c++-5-c++-library-iostreams

    - 字符串常量可以存储在栈上,例如:“Hello World”。 - 字符串通过字符指针表示,该指针指向字符串的第一个字符。 - **字符串操作函数**: - 提供了如`strlen`, `strcat`, `strcpy`等标准库函数用于字符串长度...

    C语言之精华(要点总结)

    - 字符串常量是以双引号括起来的一系列字符,在内存中自动以`\0`结束。 - 这些常量通常存储在只读内存区域,因此不能修改。 6. **用字符串常量初始化指针和数组** - 可以使用字符串常量初始化指针或数组,但这...

    大一上学期c语言期末复习总结和模拟试题带答案.doc

    字符串常量以空字符(`\0`)结束,因此尝试将字符串赋值给字符变量会导致错误。 4. **等于运算符与赋值运算符**:在C语言中,`=`是赋值运算符,用于将右边的值赋予左边的变量;而`==`是关系运算符,用于比较两边的...

    C++编程常见错误分类与解析

    在C++中,字符常量只占据一个字节的存储空间,而字符串常量则占据多个字节的空间,并且每个字符串的末尾都有一个结束符 `'\'`。因此,将字符串常量赋给字符变量的做法是错误的。例如: ```cpp char c = "hello"; //...

    strcat函数

    3. **不可修改源字符串**:`src`参数通常是常量,表示不应该改变`src`指向的字符串内容。 4. **避免连续调用**:连续调用`strcat`可能会覆盖之前的结果,除非你清楚地知道每一步的目的。 综上所述,`strcat`函数在...

    c语言选择判断题_.pdf

    38. 字符串常量:在C语言中,字符串常量如"abc\0ef\0g"中,'\0'是一个空字符,用作字符串的结束标志。 39. 关系表达式和等价性:关系表达式a=b>c并不等价于a=(b>c),也不等价于a==b>c。第一个表达式检查b是否大于c...

    VC++的Unicode编程

    2. **宽字符常量**:创建宽字符字符串常量时,需要在字符串前加上大写`L`,如`L"Hello"`,表示这是一个宽字符字符串。 3. **宽字符库函数**:C++提供了一系列用于处理宽字符串的函数,如`wcslen()`用于计算宽字符串...

    第02章 Java编程基础 05 关键字与转义字符

    此外,Java中的字符串常量都是以双引号包围的,如果字符串中需要包含双引号,可以使用转义字符避免语法错误。同时,关键字在定义变量、方法、类时需要避免冲突,选择合适的命名规则,以免引起编译错误。 总结起来,...

    C++初学者必看学习笔记

    在一维字符数组中,可以存储多个带有`\0`结束符的字符串,如`char a[5]="abcd"`实际上表示`{'a','b','c','d','\0'}`。 ##### 字符数组赋值 字符数组不能直接通过数组名赋值,需要使用字符串拷贝函数来完成赋值操作...

    深度帮助理解指针

    试图修改字符串常量会导致编译错误或者运行时错误,因为字符串常量通常是不可变的。 通过以上几个例子的分析,我们可以看到指针在C语言中的重要性和复杂性。理解和熟练掌握指针的相关概念对于编写高效、安全的程序...

    常见转义字符 Java

    在字符串或字符常量中,如果需要包含单引号,必须使用此转义字符。 11. **\" (034)**:代表双引号字符。与单引号类似,在字符串中如果需要包含双引号,则需使用此转义字符。 12. **\0 (NULL) 000**:代表空字符...

    C语言初学者常见错误统计

    5. 混淆字符常量和字符串常量:字符常量由单引号包围,如'x',而字符串常量由双引号包围,如"hello"。两者在处理和存储方式上有很大区别,错误地使用会导致语法错误。 6. 函数声明与定义不匹配:在使用函数前需先...

    c语言编程易犯毛病

    字符常量由单引号括起,而字符串常量由双引号括起,并且后者包含一个隐式的终止符`\0`。将字符串赋给一个字符变量会导致编译错误,因为字符变量无法存储整个字符串。 ### 4. 混淆赋值与比较运算符 在C语言中,`=`...

    C++常见错误

    中文对照:编译错误,常量中创建新行分析:字符串常量多行书写 解决方法:检查字符串常量的书写方式,确保每个字符串常量都在同一行。 6. error C2006: #include expected a filename, found 'identifier' 中文...

Global site tag (gtag.js) - Google Analytics