我如何确保英镑符号(£)正确显示?

xen*_*non 2 php xml encoding utf-8

我有一个PHP脚本,它从XML文件中读取数据,通过AJAX将其返回到页面,然后将数据放入相关的文本区域.

页面的Content-Type如下:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
Run Code Online (Sandbox Code Playgroud)

XML标题如下所示:

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE xsl:stylesheet  [
    <!ENTITY pound  "&#163;">
 ]>
...
Run Code Online (Sandbox Code Playgroud)

问题是,当数据到达文本框时,它前面有字符.

我的印象是将内容类型设置为UTF-8可以解决这个问题,但我一定是错的.任何人都可以告诉我我需要使用哪种编码类型来使其一致地呈现?

Ala*_*orm 6

字符编码的问题在于,如果某个程序或进程在任何步骤都无法正确处理它,那么字符就可以被释放.

所以你有了

  1. 一个HTML页面
  2. 进行AJAX调用
  3. 在服务器上运行一些代码
  4. 从XML文件构建XML响应
  5. 返回浏览器并显示在文本框中

因此,理想情况下,在每一步,您都需要UTF-8编码.在这个过程中,你的角色可能会受到影响.这是我采取的跟踪此步骤的步骤

  1. 确保您的HTML/PHP页面具有正确的元标记
  2. 确保您的HTML/PHP文本文件保存为UTF-8
  3. 确保从中读取的XML文件已保存为UTF-8
  4. 确保您读取的XML文件和您构建的响应都在扩展名中设置了编码<?xml version ="1.0"encoding ="utf-8"?>
  5. 确保服务器的响应标头发送utf-8
  6. 在浏览器中手动调用您的服务,以查看是否正确返回了该符号