解决php5+mysql5.1.1+html+javascript之间的编码问题

本文介绍如何在PHP5+MySQL5.1.1+Apache2.2.3环境中统一使用UTF-8编码,确保中文数据正确传递。涉及PHP、MySQL及HTML的编码设置,并给出JavaScript处理中文参数的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先要确定搭配为php5+mysql5.1.1+apache2.2.3,因为其他没有测试。

php5+mysql5.1.1+html+javascript之间搭配其实最重要的还是要看javascript。因为javascript传值用的是utf-8,所以在页面编码为gb2312传递中文的时候可能会出问题。基于这点考虑,我们就将这里面所有的编码都设置为utf8。

mysql设置很简单,只要在创建数据库的时候指定为utf8就好了。

php文件中,在查询数据库的时候要在mysql_db_query或者mysql_query之前加上mysql_query("SET NAMES utf8");在要生成的html中的<head></head>之间加上<meta http-equiv="Content-Type" content="text/html" charset="utf-8" />。

在javascript向服务器提交中文参数的时候要用encodeURIComponent ()函数。例如:
None.gif function  InitSelectName()
ExpandedBlockStart.gifContractedBlock.gif
{
InBlock.gif    
var select_name=document.getElementById("select_name");
InBlock.gif
ExpandedSubBlockStart.gifContractedSubBlock.gif                select_name.onchange
=function (){StartRequest("selectbelongings.php?user_id="+encodeURIComponent (this.options[this.selectedIndex].value));}
InBlock.gif        
ExpandedBlockEnd.gif}

大家可以参考文章 http://blog.terac.com/andy/e_181.html

最后还有一步,是在网上看到的,就是所有的网页文件保存的格式一定要是utf8编码的。

补充:对于utf8编码要注意,要保存为utf8无标记格式。有一种utf8有标记格式会对php解析产生扰乱。高级的代码编辑器都可以选。而记事本默认的就是有标记的utf8,不能用。

我按照这套步骤试验了几次都没有问题。ie6,ff1.5均通过。



转载于:https://www.cnblogs.com/poppy/archive/2006/08/25/486517.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值