服务器编码是utf-8,程序文件的编码我都改成了utf-8,上传到服务器还是出现乱码, 是怎么回事?

服务器编码是utf-8,程序文件的编码我都改成了utf-8,上传到服务器还是出现乱码, 是怎么回事?,第1张

你先改变下浏览器的编码,试试到底是那种。总有一种不是乱码的。服务器的编码和显示的编码不一定是一样的。。编码问题确实很讨厌。。我第一次用linux做服务器差点没弄惨我- -后来发现只要让显示的编码是对的就好了。。数据库的数据可以自己转换。。
说不清楚唉,具体问题每个都不一样。。。

enctype就是encodetype就是编码类型的意思。

multipart/form-data是指表单数据有多部分构成,既有文本数据,又有文件等二进制数据的意思。

需要注意的是:默认情况下,enctype的值是application/x->

application/x->

扩展资料:

一、关于HTML <form> 标签的 enctype 属性

application/x->

multipart/form-data:    不对字符编码,或在使用包含文件上传控件的表单时,必须使用该值。

text/plain:空格转换为 "+" 加号,但不对特殊字符编码。 

二、enctype:规定了form表单在发送到服务器时候编码方式,有如下的三个值。

1、application/x->

2、multipart/form-data 。 指定传输数据为二进制类型,比如、mp3、文件。

3、text/plain。纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。

一.首先是PHP网页的编码
1php文件本身的编码与网页的编码应匹配
a如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta >在通过POST方式向服务器发送AJAX请求时最好要通过设置请求头来指定为application/x->

mysql中一般用UTF-8编码。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码。由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

修改数据库编码的命令为:

alter database app_relation character set utf8;

它相当于下面的三句指令:

SET character_set_client = utf8;
SET character_set_results = utf8;
SET character_set_connection = utf8;

我们都知道浏览器是依据<meta charset> 编写的字符来确定网页的编码的,新的Web标准要求尽量使用 UTF-8,如果没有制定那么就是按utf-8来指定的。
问题就在这,我最近遇到一个比较特殊的情况,一个网页是charset设置的是gb2312,但是实际上这个网页的编码使用的是utf-8,所以这个引起了我的注意。
服务器返回的html给浏览器对于的二进制数据,浏览器获取之后,会先猜测网页的编码,如果猜对了,那么就直接显示了,如果猜错才会使用charset上的编码,这样就解释了为什么在charset写错的情况下,网页还能正常显示,我测试了好几个浏览器,chrome,edge,搜狗,甚至世界之窗都试过了,都可以正常显示。
如果想了解关于UTF-8 和 GBK 的区别可以查看一下网页 >

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存