php网站上传到服务器出现乱码?必须手动把浏览器的编码设定成GB2312才能正常显示,请问是原因?

php网站上传到服务器出现乱码?必须手动把浏览器的编码设定成GB2312才能正常显示,请问是原因?,第1张

一.首先是PHP网页的编码
1php文件本身的编码与网页的编码应匹配
a如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta ><phpclass Json{ public static function encode($str){ $code = json_encode($str); return preg_replace("#\\u([0-9a-f]+)#ie", "iconv('UCS-2', 'UTF-8', pack('H4', '\1'))", $code); } public static function decode($str){ return json_decode($str); }}>用上面的代码可以解决在存储JSON生成的字串为乱码的问题友情提示:参数为UTF-8编码过的字串或在用UTF-8保存的程序中直接引用上面的两个静态方法附:php pack()函数说明pack压缩资料到位字符串之中。语法: string pack(string format, mixed [args]);返回值: 字符串(二进制)函数种类: 资料处理内容说明本函数用来将资料压缩打包到位的字符串之中。本函数和 Perl 的同名函数功能用法完全相同。参数 format 为压缩的格式,见下表a 将字符串空白以 NULL 字符填满A 将字符串空白以 SPACE 字符 (空格) 填满h 十六进位字符串,低位在前H 十六进位字符串,高位在前c 有号字符C 无号字符s 有号短整数 (十六位,依计算机的位顺序)S 无号短整数 (十六位,依计算机的位顺序)n 无号短整数 (十六位, 高位在后的顺序)v 无号短整数 (十六位, 低位在后的顺序)i 有号整数 (依计算机的顺序及范围)I 无号整数 (依计算机的顺序及范围)l 有号长整数 (卅二位,依计算机的位顺序)L 无号长整数 (卅二位,依计算机的位顺序)N 无号短整数 (卅二位, 高位在后的顺序)V 无号短整数 (卅二位, 低位在后的顺序)f 单精确浮点数 (依计算机的范围)d 倍精确浮点数 (依计算机的范围)x 空位X 倒回一位@ 填入 NULL 字符到绝对位置使用范例<>

是js还是php的
上网找下它的动态方法试试,如果
meta=>enctype="multipart/form-data"
使用multipart/form-data上传时,发送的请求和一般的>写入文件的时候设置下编码格式即可,之后读取就不会是乱码的。
可以通过“FileOutputStream”创建文件实例,之后过“OutputStreamWriter”流的形式进行存储,举例:
OutputStreamWriter pw = null;//定义一个流
pw = new OutputStreamWriter(new FileOutputStream(“D:/testtxt”),"UTF-8");//确认流的输出文件和编码格式,此过程创建了“testtxt”实例
pwwrite("我是要写入到记事本文件的内容");//将要写入文件的内容,可以多次write
pwclose();//关闭流
备注:文件流用完之后必须及时通过close方法关闭,否则会一直处于打开状态,直至程序停止,增加系统负担。

问题一:网页出现乱码怎么办 网页出现乱码怎么办
解决办法:有以下四种解决办法:
1、在浏览器中选择“编码”菜单
事先为浏览器安装多语言支持包(例如在安装IE币安装多语言支持包),这样当浏览网页出现乱码时,即可手工更改此类网页的编码方式,在浏览器中选择菜单栏下的“查看“编码”/“自动选择”/
简体中文(GB2312),如为繁体中文则选择“查看”/“编码”/“自动选择”/繁体中文(BIG5),其他语言依此类推,选择相应的语系,这样便可消除网页乱码现象
2、修改网页代码
用FrontPage等软件打开出现乱码的网页,修改该网页代码,在以下句子中 〈META CONTENT=“text/html;charset=ISO-8859-1”〉,将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5
3、无乱码保存网页
用浏览器打开该网页,在“查看”/“编码”中选择“自动选择”,存盘时保存类型选“WEB页”,编码选择“UNICODE”,这样保存过的网页再次打开时,在浏览器菜单“查看”/“编码”中不管选择简体中文(GB2312)、简体中文(HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码

问题二:如何解决HTML网页中文显示乱码的方法 把文件保存成utf-8的编码,仿着上面的位置,在页面加上中间那行代码

问题三:浏览器浏览个网页全是乱码怎么回事 应该是网页问题。看看其他的网页有事情吗。如果没有问题。把页面关了重新打开。或者换成qq浏览器试试。他打开网页的速度较快。 里面的手机软件和游戏很齐全,各种类型的都可以在这里面找到,所以还是很方便的哦。

问题四:页面乱码问题怎么解决? 1第一个地方的编码格式为jsp文件的存储格式。Eclipse会根据这个编码格式保存文件。并编译jsp文件,包括里面的汉字。
第二处编码为解码格式。因为存为UTF-8的文件被解码为iso8859-1,这样如有中文肯定出乱码。也就是必须一致。而第二处所在的这一行,可以没有。缺省也是使用iso8859-1的编码格式。所以如果没有这一行的话,“我是个好人”也会出现乱码。必须一致才可以。
第三处编码为控制浏览器的解码方式。如果前面的解码都一致并且无误的话,这个编码格式没有关系。有的网页出现乱码,就是因为浏览器不能确定使用哪种编码格式。因为页面有时候会嵌入页面,导致浏览器混淆了编码格式。出现了乱码。
2表单使用Post方式提交后接收到的乱码问题
这个问题也是一个常见的问题。这个乱码也是tomcat的内部编码格式iso8859-1在捣乱,也就是说post提交时,如果没有设置提交的编码格式,则会以iso8859-1方式进行提交,接受的jsp却以utf-8的方式接受。导致乱码。既然这样的原因,下面有几种解决方式,并比较。
A,接受参数时进行编码转换
String str = new String(requestgetParameter(something)getBytes(ISO-8859-1),utf-
8) ; 这样的话,每一个参数都必须这样进行转码。很麻烦。但确实可以拿到汉字。
B,在请求页面上开始处,执行请求的编码代码, requestsetCharacterEncoding(UTF-8),把提交内容的字符集设为UTF-8。这样的话,接受此参数的页面就不必在转码了。直接使用String str = requestgetParameter(something);即可得到汉字参数。但每页都需要执行这句话。这个方法也就对post提交的有效果,对于get提交和上传文件时enctype=multipart/form-data是无效的。稍后下面单独对这个两个的乱码情况再进行说明。
C,为了避免每页都要写requestsetCharacterEncoding(UTF-8),建议使用过滤器对所有jsp。

现在将常见的乱码问题分为JSP页面显示中文乱码、表单提交乱码两类。

1)JSP页面中显示中文乱码

在JSP文件中使用page命令指定响应结果的MIME类型,如

2)表单提交乱码

表单提交时(post和Get方法),使用requestgetParameter方法得到乱码,这是因为tomcat处理提交

的参数时默认的是iso-8859-1,表单提交get和post处理乱码问题不同,

下面分别说明。

(1)POST处理

对post提交的表单通过编写一个过滤器的方法来解决,过滤器在用户提交的数据被处理之前被调用

,可以在这里改变参数的编码方式,过滤器的代码如下:

Java代码

CharacterEncodingFilterjava:

public class CharacterEncod>>

问题五:网站出现乱码,怎么解决 〈HTML〉〈HEAD〉〈META CONTENT=“text/html;charset=ISO-8859-1”〉〈/HEAD〉〈/HTML〉的语句,浏览器在显示此页时,就会出现乱码。因为浏览器会将此页语种辨认为“欧洲语系”。
解决办法:
1将语种“ISO-8859-1”改为GB2312,如果是繁体网页则改为BIG5。
2不修改网页代码,事先为浏览器安装多语言支持包(例如在安装IE时要安装多语言支持包),这样在浏览网页出现乱码时,就可以在浏览器中选择菜单栏下的 “查看”→ “编码”→“自动选择””→“简体中文(GB2312),如为繁体中文,则选择“查看”→“编码”→“自动选择””→“ 繁体中文(BIG5),其他语言依此类推选择相应的语系,这样可消除网页乱码现象。
3利用多内码显示平台来转换内码。
4网页无乱码保存的方法是:用浏览器打开网页时,在 “查看”→“编码”中选择“自动选择”,存盘时保存类型选 “Web页”,编码选择“UNICOD”,这样保存过的网页再次打开时,在浏览器菜单“查看”→“编码”中不管选择简体中文(GB2312)、简体中文 (HZ)还是UNICODE(UTF-8)或繁体中文(BIG5),最终显示都不会出现乱码。
5如果是数据库里取出的资料乱码,则请将数据库里所有表及字段的编码都设为与页面的一样

问题六:网页显示的是乱码怎么办 是打开别人的网页吗?如果是打开网页出现乱码的情况,是因为编码不统一的问题,解决办法,直接在乱码页面,右键--编码--如果是utf-8的话,你改成gb2312,如果是gb2312的话,你改成utf-8。就可以解决了。如果不是这两个的话,你直接改成这两个的任一试试。
如果是你自己做的网页的话,可以在网页最上边的meta的地方加上编码即可。

问题七:制作网页时乱码了,怎么办? 乱码分三种情况:
1乱码。
2javascript乱码
3数据库乱码(我用的是mysql,其他也一样, *** 作数据库是直接用phpmyadmin *** 作)
网页设计基本就这三种情况。笔者不幸的全遇到了(这是巧合吗?坑啊),但幸运的是,在笔者阅读了大量相关资料以及对乱码原理深入理解后,已经将其全部解决。
html乱码的解决
1你没有Dreamweaver的话:

把这行代码复制到你的之间,这会使你的网页打开时,浏览器默认编码为utf8,当然,建议你所有的网页编码统一,都设置为utf8,或者都设置为gb2312。
2如果你有Dreamweaver的话:
你可以不必记住这行代码,因为Dreamweaver可以设置,如图:
选择页面属性(上边的修改中也可以找到),选择标题/编码,更改编码确保编码统一(建议统一为utf8或gb2312)
选择统一编码后点击“应用”,Dreamweaver会自动将一行代码加入你的网页。
但是记住,要统一编码。在你制作第一张网页时就这样设置,这样做的好处是你以后用Dreamweaver编辑的每一张网页都会自动统一编码。
js乱码的解决
这里js乱码是指由js制作的d窗内容为乱码的情况,这种情况很头疼,但一般不会出现,如果出现,不好解决。
1若你的jsd窗内容出现乱码,首先检查原网页代码中的输出内容是否是乱码(由于乱改页面设置,导致本来的汉字变成乱码)
2如果你确保你的原网页代码中不是乱码,那么说明js输出内容与页面编码不符,这时我们应强制将输出内容转变编码与页面编码统一。
强制转换编码的方法有很多,我这里使用php做到了这些
alert('$ss');;
>
这样做的好处是,无论网页编码是utf8还是gb2312,你的jsd窗内容都不会是乱码。但缺点也很明显,你的文件后缀名从需要改为php(否则php不被编译),而且php执行占用服务器内存,但只是转换编码并不用担心消耗太多服务器内存。
数据库乱码的解决
这里数据库乱码是指
1插入正常数据后,数据库里显示乱码
2正常数据读取出在页面显示乱码
3建立数据库时数据库(表、字段)的编码有问题
解决办法:
1插入数据库前将数据强行转换编码,与数据库统一。(这里笔者 *** 作数据库所用的是php)

这样在数据库内查看数据时>>

问题八:打开网页老是乱码 怎么办 下载谷歌等浏览器测绩一下,如果好用,上你说的网站、或浏览其它网页时就用这个软件,这些都是不用IE做内核的,与你用IE不冲突(有问题请你追问我)。
其他在看看360浏览器试试,或还原系统或重装。

问题九:打开网页容易出现乱码是怎么回事 在页面的空白处右击鼠标,选择编码(E),再勾选自动选择。。刷新一下就好,希望能帮到你~~~


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13343761.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-18
下一篇 2023-07-18

发表评论

登录后才能评论

评论列表(0条)

保存