关于制作网页时乱码的问题详解
Posted 隐匿山猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于制作网页时乱码的问题详解相关的知识,希望对你有一定的参考价值。
关于制作网页时乱码的问题详解
很多朋友在制作网页时会遇到一个很头疼的问题,就是乱码问题,有时改改编码就解决了,那是运气不错,而有时无论如何也解决不了,那就没办法了。我在制作网页时也遇到了不少问题,最后实在受不了了,只好花了三天时间来仔细研究乱码问题,小有成果,在这里和大家分享一下。
乱码在我看来分三种情况:
1.html乱码。
2.javascript乱码
3.数据库乱码(我用的是mysql,其他也一样,操作数据库是直接用phpmyadmin操作)
网页设计基本就这三种情况。笔者不幸的全遇到了(这是巧合吗?坑啊),但幸运的是,在笔者阅读了大量相关资料以及对乱码原理深入理解后,已经将其全部解决。
注:无论哪种乱码问题,笔者在这里建议制作网页前就将数据库、页面编码统一为utf8或gb231。这是一种良好的习惯,这种习惯会减少不必要乱码问题的出现。
工具/原料
-
你有一个Dreamweaver的话解决html乱码会很方便。(不是必须)
-
你有一个Wamp的话,里面附带phpmyadmin,会让你解决数据库乱码很方便。(同样不是必须)
方法/步骤
-
1
html乱码的解决
1.你没有Dreamweaver的话:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
把这行代码复制到你的<head></head>之间,这会使你的网页打开时,浏览器默认编码为utf8,当然,建议你所有的网页编码统一,都设置为utf8,或者都设置为gb2312。
2.如果你有Dreamweaver的话:
你可以不必记住这行代码,因为Dreamweaver可以设置,如图:
选择"页面属性"(上边的修改中也可以找到),选择"标题/编码",更改编码确保编码统一(建议统一为utf8或gb2312)
选择统一编码后点击“应用”,Dreamweaver会自动将一行代码加入你的网页。
但是记住,要统一编码。在你制作第一张网页时就这样设置,这样做的好处是你以后用Dreamweaver编辑的每一张网页都会自动统一编码。
-
2
js乱码的解决
这里js乱码是指由js制作的弹窗内容为乱码的情况,这种情况很头疼,但一般不会出现,如果出现,不好解决。
1.若你的js弹窗内容出现乱码,首先检查原网页代码中的输出内容是否是乱码(由于乱改页面设置,导致本来的汉字变成乱码)
2.如果你确保你的原网页代码中不是乱码,那么说明js输出内容与页面编码不符,这时我们应强制将输出内容转变编码与页面编码统一。
强制转换编码的方法有很多,我这里使用php做到了这些
<?php
$ss=iconv("utf8" , "gb2312//IGNORE" , "你想输入的汉字") ;
echo $ss;
echo "<script language=javascript>alert(‘$ss‘);</script>";
?>
这样做的好处是,无论网页编码是utf8还是gb2312,你的js弹窗内容都不会是乱码。但缺点也很明显,你的文件后缀名从.html需要改为.php(否则php不被编译),而且php执行占用服务器内存,但只是转换编码并不用担心消耗太多服务器内存。
-
3
数据库乱码的解决
这里数据库乱码是指
1.插入正常数据后,数据库里显示乱码
2.正常数据读取出在页面显示乱码
3.建立数据库时数据库(表、字段)的编码有问题
解决办法:
1.插入数据库前将数据强行转换编码,与数据库统一。(这里笔者操作数据库所用的是php)
<?php
$ss=iconv("utf8" , "gb2312//IGNORE" , "你想插入的汉字数据") ;
mysql_query("insert into 表名(字段名) values(‘$ss’)");
?>
这样在数据库内查看数据时,不会出现乱码。但如果你将页面编码与数据库编码统一的话,根本不会出现这种问题。
2.正常数据读取出在页面显示乱码,首先检查数据库内容是否是乱码,如果是,参照方法1:“插入正常数据后,数据库里显示乱码”解决,这时数据库里数据正常,但页面输出仍是乱码,说明html编码有问题或不统一。参照“html乱码的解决“进行。
3.你将页面调整统一编码,可数据库编码不统一,你又不想删除数据库重新建立。又嫌插入数据的地方太多,那怎么办,只好更改数据库编码了。
打开phpmyadmin。如图,选择数据库的“操作”-->"整理",然后统一编码。
更改数据库后再逐个检查数据表的“整理”,确认编码统一!!
-
4
这里是建立数据库时就统一编码的方法,如果早这么做就不会遇到乱码问题!!下一回记住了。在建表时就统一最方便了。
END
注意事项
-
无论哪种乱码问题,笔者在这里建议制作网页前就将数据库、页面编码统一为utf8或gb231。这是一种良好的习惯,这种习惯会减少不必要乱码问题的出现。
以上是关于关于制作网页时乱码的问题详解的主要内容,如果未能解决你的问题,请参考以下文章