【php】读取xml乱码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【php】读取xml乱码相关的知识,希望对你有一定的参考价值。
<?xml version="1.0" encoding="gb2312"?>
<msg>
<E600>未知错误</E600>
<E601>验证码输入错误</E601>
<E602>此用户名已被注册</E602>
<E603>抱歉,由于系统原因,账户注册失败</E603>
<E604>登录失败:用户名或密码错误</E604>
<E605>您要浏览的帖子不存在</E605>
<E606>您要浏览的贴吧不存在</E606>
<E607>您已经申请了会员</E607>
<E608>抱歉,收件人没有找到</E608>
<E609>对不起,您没有登录,无权限进行该操作</E609>
<E610>收件人列表中有重复</E610>
<E611>对不起,您没有权限进行该操作</E611>
</msg>
<?php
session_start();
$ErrorID=$_SESSION["iError"]; # 错误代码
if ($ErrorID=="")
$ErrorID="E600";
$xml=simplexml_load_file("Xml/Error.xml");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>错误</title>
<link href="CSS/Text.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div>
<table width="100%" border="0">
<tr>
<td align="center"><form id="form1" name="form1" method="post" action="">
<table width="80%" border="1">
<tr>
<td height="21" align="center" bgcolor="#999999" class="Text1"><b>错误</b></td>
</tr>
<tr>
<td height="140" align="center" class="Text1"><?php echo $xml->$ErrorID; ?></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</div>
</body>
</html>
为何会乱码
用的函数是:mb_convert_encoding
1、把 GBK 编码字串转换成 UTF-8 编码字串
Php代码
<?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("你是我的好朋友", "UTF-8", "GBK");
?>
<?php
header("content-Type: text/html; charset=Utf-8");
echo mb_convert_encoding("你是我的好朋友", "UTF-8", "GBK");
?>
2、把 UTF-8 编码字串转换成 GB2312 编码字串
Php代码
// 注意将此文件存盘成 utf-8 编码格式文件再测试
<?php
header("content-Type: text/html; charset=gb2312");
echo mb_convert_encoding("你是我的好朋友", "gb312", "utf-8");
?>
// 注意将此文件存盘成 utf-8 编码格式文件再测试
<?php
header("content-Type: text/html; charset=gb2312");
echo mb_convert_encoding("你是我的好朋友", "gb312", "utf-8");
?>本回答被提问者采纳 参考技术B 在你的PHP 文件头,加上
header("content-Type: text/html; charset=gb2312");
试试
PHP学习笔记:用php读取xml文件
xml已经被json逐渐替代,现在用的api都是用貌似用的json,但是有些老的网站还是在用xml。
这里默认xml文件为:address.xml,存放在和读取的php文件相同级别目录,xml内容如下:
<?xml version="1.0" encoding="utf-8"?> <note> <name>简庆旺</name> <address>福建省漳州市南靖县梅林镇官洋村</address> <tel>17095921320</tel> <code>363609</code> <school> <highschool> <name>永定一中</name> <address>福建省龙岩市永定区91路</address> </highschool> <university> <name>吉首大学</name> <address>湖南省吉首市人民南路120号</address> </university> </school> </note>
xml读取方式一:
<?php $xml = simplexml_load_file(‘address.xml‘); //输出下,内容是个对象 var_dump($xml); echo ("<br/>"); //读取到简庆旺 echo $xml->name; echo ("<br/>"); //读取到永定一中 echo $xml->school->highschool->name; ?>
xml读取方式二:
以上是关于【php】读取xml乱码的主要内容,如果未能解决你的问题,请参考以下文章