0

我正在使用谷歌地图 API,在某些标记上会弹出一个信息框,其内容是从 mysql 数据库中的单元格中提取的。其中一些单元格包含英镑符号 (£),但当它显示在信息框中时,它会被替换为“�”。MySQL 设置为 'utf8_general_ci' 并且我的页面头部有 charset=UTF-8 为什么不显示这个字符?

4

2 回答 2

0

您可以使用

  • HTML 实体:

    • £
    • £
    • £
  • 统一码 javascript:

    • \u00A3

但最好检查一下,因为如果您的代码以 UTF8 编码并被解析为 UTF8,那么使用£.

于 2013-11-08T19:26:48.290 回答
0

仔细检查您的 php 页面是否真正发送了 utf8 标头,并且您的数据库(或相关表 - 重要)正在使用 utf8 字符集。一个或另一个可能使用其他一些字符集(分别为 windows-iso 或 swedish-latin)。

也可能是您将非 utf8 数据存储在 utf8 sql 表中,反之亦然。在这种情况下,您需要对其进行转换。在本质上:

  1. 将相关字段转换为二进制文本
  2. 更改字符集
  3. 将文本转换回文本
于 2013-11-08T19:20:10.287 回答