为什么访问这个页面,浏览器自动编码为Big5从而出现乱码? 怎样修改网页内容,从而让浏览器正确显示中文。。? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我说的是这个网站:http://derline.mysinamail.com 楼主看看:http://blog.csdn.net/tolys/archive/2007/09/26/1801684.aspx博主分的很仔细,估计应该看了就明白。1. 在jsp中<%@ page contentType="text/html; charset=A" %>如果指定了,那么在改jsp中所有构造的String(不是引用),如果沒有指定编码,那么这些String的编码是A的。 从request的得到的String如果沒有指定request的编码的话,他是iso-8859-1的 从别的地方得到的String是使用原來初始的编码的,比如从数据库得到String,如果数据库的编码是B,那么该String的编码是B而不是A的,也不是系统默认的。 此时,如果要输出的String的编码不是A,那么,很可能显示乱码的,所以首先要将String正確转化为编码A的String,然后输出。2. 在jsp中<%@ page contentType="text/html; charset=A" %>沒有指定,那么相当于指定了<%@ page contentType="text/html; charset=ISO-8859-1" %>3. Servelte中如果执行了像 response.setContentType("text/html;charset=A");説明将response的字符输出流编码设置为A,所有要输出的String的编码要转化为A的,否則会得到乱码的。 Servelet中从request得到的String的编码和jsp中一样的,但是在servlet java文件中构造的String是使用的系统默认的编码的。在servelt中从外部得到的String 是使用原来的编码的,比如从编码为B的数据库得到的数据是编码为B的,不是A,也不是系统默认的编码。 能不能简单告诉我,浏览器的默认编码是根据网页里的什么部分来的?我的浏览器凭什么访问这个页面时自动选用Big5? <%@ page contentType="text/html; charset=A" %>就是根据charset啊 或者是pageEcoding 可是我访问这个网站,然后查看源代码,charset=UTF-8 啊。。 浏览器还是选用Big5.。。 你的浏览器编码设置的是什么?改成UTF-8 清除缓存再试试 刚才清除了下缓存,一样是Big5,中文乱码。你有没有访问一下看看?这是香港新浪提供的网站,不会有病毒 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">换一下试试,我不确定 浏览器的 语言 首选项,确定设的是 zh-CN? doctype声明指出阅读程序应该用什么规则集来解释文档中的标记为了获得正确的doctype声明,关键就是让dtd与文档所遵循的标准对应。例如,假定文档遵循的是xhtml 1.0 strict标准,文档的doctype声明就应该引用相应的dtd。另一方面,如果doctype声明指定的是xhtml dtd,但文档包含的是旧式风格的html标记,就是不恰当的;类似地,如果doctype声明指定的是html dtd,但文档包含的是xhtml 1.0 strict标记,同样是不恰当的。 有的时候,也可以根本不使用一个doctype声明。如果没有指定有效的doctype声明,大多数浏览器都会使用一个内建的默认dtd。在这种情况下,浏览器会用内建的dtd来试着显示你所指定的标记。对于一些临时性的、匆忙拼凑的文档(这种文档有许多),你确实可以考虑省略doctype声明,并接受浏览器的默认显示。 Axis2客户端调用web service出现ClassNotFoundException异常 求助:tomcat部署到服务器无法访问 用java实现二叉树排序 BlockingQueue与ActiveMQ是什么关系,分别都是干什么的,应用于什么场合? SSH dispatchAction 问题 谁能提供一下哪里可以下载到电气java软件源码? webwork一个时间问题! Spring例子问题:配置文件中Dao 和DaoProxy 无法关联 请教关于时间字段的比较--[100分] Java安装环境变量的问题 jxl怎么可以返回一个Excel文件的流到页面 servlet获取ip地址
博主分的很仔细,估计应该看了就明白。1. 在jsp中<%@ page contentType="text/html; charset=A" %>如果指定了,那么在改jsp中所有构造的String(不是引用),如果沒有指定编码,那么这些String的编码是A的。
从request的得到的String如果沒有指定request的编码的话,他是iso-8859-1的
从别的地方得到的String是使用原來初始的编码的,比如从数据库得到String,如果数据库的编码是B,那么该String的编码是B而不是A的,也不是系统默认的。
此时,如果要输出的String的编码不是A,那么,很可能显示乱码的,所以首先要将String正確转化为编码A的String,然后输出。2. 在jsp中<%@ page contentType="text/html; charset=A" %>沒有指定,那么相当于指定了<%@ page contentType="text/html; charset=ISO-8859-1" %>3. Servelte中如果执行了像 response.setContentType("text/html;charset=A");説明将response的字符输出流编码设置为A,所有要输出的String的编码要转化为A的,否則会得到乱码的。
Servelet中从request得到的String的编码和jsp中一样的,但是在servlet java文件中构造的String是使用的系统默认的编码的。在servelt中从外部得到的String 是使用原来的编码的,比如从编码为B的数据库得到的数据是编码为B的,不是A,也不是系统默认的编码。
能不能简单告诉我,浏览器的默认编码是根据网页里的什么部分来的?我的浏览器凭什么访问这个页面时自动选用Big5?
就是根据charset啊 或者是pageEcoding
可是我访问这个网站,然后查看源代码,charset=UTF-8 啊。。 浏览器还是选用Big5.。。
改成UTF-8 清除缓存再试试
换一下试试,我不确定
例如,假定文档遵循的是xhtml 1.0 strict标准,文档的doctype声明就应该引用相应的dtd。
另一方面,如果doctype声明指定的是xhtml dtd,但文档包含的是旧式风格的html标记,就是不恰当的;
类似地,如果doctype声明指定的是html dtd,但文档包含的是xhtml 1.0 strict标记,同样是不恰当的。
有的时候,也可以根本不使用一个doctype声明。如果没有指定有效的doctype声明,大多数浏览器都会使用一个内建的默认dtd。
在这种情况下,浏览器会用内建的dtd来试着显示你所指定的标记。
对于一些临时性的、匆忙拼凑的文档(这种文档有许多),你确实可以考虑省略doctype声明,并接受浏览器的默认显示。