首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >国标变成国标为什么?XML ISO编码问题?

国标变成国标为什么?XML ISO编码问题?
EN

Stack Overflow用户
提问于 2011-09-08 13:53:41
回答 2查看 5.5K关注 0票数 3

一直在愉快地通过由PHP和SimpleDOM.php削减的web表单将东西保存到我的XML文件中。

我需要保存有英语价格的项目,所以我需要英语英镑标志。然而,当我这样做时,会发生两件事:

  1. ,它以as
  2. 的形式返回节省的价格,如果我再次保存它,而不进行任何其他更改,那么SimpleDom解析器就会转到SimpleDom文件中,并删除除英文磅号以外的任何其他内容。

我的XML文件中的第一行如下所示

代码语言:javascript
运行
复制
<?xml version="1.0" encoding="ISO-8859-1"?>

在XML文件中,is被保存为

代码语言:javascript
运行
复制
&amp;Acirc;&amp;pound;

据我所知,iso-8859-1应该有As标志,所以很困惑为什么这个Acirc要进入它.

我在另一条线上看到有人说尝试使用8859-15,但这并没有什么区别。

伙计们有什么想法吗?

干杯Jas (对所有这些编码的东西完全没有兴趣)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-09-08 14:21:47

£的unicode代码点是U+00A3。在UTF-8编码中,它是0xC2 0xA3.现在,在ISO-8859-1 0xC2中是Å,0xA3是Å。因此,在流程的某个地方,您输入的是UTF-8,它被解释为ISO-8859-1.您看过“表单”是如何在到达PHP代码之前对数据进行编码的吗?

另外,这个SimpleDOM在做什么呢?实体?和Â不是没有声明的有效XML实体。SimpleDOM是否添加声明?

票数 10
EN

Stack Overflow用户

发布于 2011-09-13 15:51:22

四十二人的反应彻底解决了其中一个问题.我将编码=iso-8859-1放在xml中,但在html元内容类型标记中使用utf-8。

如果有人看到这个答案,还有一件事要注意。我在Windows文档中的曲线引用(将Word 2007中的文本复制到我的站点上的html表单字段)方面也遇到了严重的问题。曲线引号和撇号之间有很大的区别。在英语键盘上,单词将上面的破折号(撇号)解释为一个单一的曲线引号。ISO-8859-1没有这样的实体(其编码为Windows-1252“标准”)。这会扼杀我的XML文档,因为它们是由PHP从form字段解析的。解决办法很简单:

代码语言:javascript
运行
复制
$var = htmlentities($var,ENT_QUOTES, "Windows-1252");

其他人也提到了超文本和脱衣舞.但我花了4天半时间才把这一切都解决了。希望能给别人留点时间。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7349176

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档