php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/htmlcharset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头:header(“Content-Type: text/htmlcharset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总是删除,再保存就可以去掉BOM信息了。
php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
如果你的HTML文件文件出现了乱码问题,那么你可以在head标签里面加入UTF8编码(国际化编码):UTF-8是没有国家的编码,也就是独立于任何一种语言,任何语言都可以使用的。
扩展资料:
解决PHP 输出简单的中文 乱码问题的其他方法:
在php的echo前面加入header("Content-Type:text/htmlcharset=gb2312")
把<meta http-equiv="Content-Type" content="text/htmlcharset=UTF-8" />中的UTF-8改成gb2312
参考资料:
百度百科-PHP
应该是没有URL编码(一般来说,用默认字符集是没有问题的)。
URL编码/解码,可用函数urlencode()与urldecode()。
还有一个小问题,你有个地方打错了,在表单中把playerName打成了playerNmae,而iframe的URL中却是playerName。
iframe代码改为(你的拼写错误已修正):
<iframe id="aaa" name="aaa" width="600" height="500" src="网址/playerDetail.php?serverName=<?php echo urlencode($_GET["serverName"]) ?>&playerName=<?php echo urlencode($_GET["playerName"]) ?>"></iframe>表单代码改为:
<form action="22.php" method="get">服务器: <input type="text" name="serverName" /><br />
玩家名: <input type="text" name="playerName" /><br />
<input type="submit" />
</form>
再试试?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)