php - ±(加/减字符)转换为黑色问号

标签 php html ascii special-characters

我输入的一些文本包括几个上下箭头(↑ 和 ↓),以及一个加号/减号 (±)。

这些特殊字符以 HTML ASCII 输入: ±。在 POST 上,HTML 在保存到 MySQL 表之前使用 htmlentities 进行处理。

$data   = htmlentities($data,ENT_QUOTES);

请务必注意,向上和向下箭头符号不会转换为黑色箭头。发布数据后,然后返回编辑相同的文本 - 我在 HTML 源代码中看到了 。只有 ± 被转换为黑色问号。

检查 MySQL 中保存的文本确认所有三个符号存储如下(这是在应用 htmlentites 之后):↑ ↓±.

然后 PHP 应用程序使用 unhtmlentities($data) [如下] 将实体转换回符号。这适用于 。这是我丢失 ± 的地方。

非HTML实体:

function unhtmlentities ($string) {
    // Restores HTML code to inserted data
    // use when pulling from Database
    $trans_tbl = get_html_translation_table (HTML_ENTITIES);
    $trans_tbl = array_flip ($trans_tbl);
    return strtr ($string, $trans_tbl);
    // $c = unhtmlentities($a);
}

为什么这适用于 uarr 和 darr,但不适用于 plusmn?

最佳答案

如果您仍然看到 &plusmn;在发送到您的浏览器的源代码中,但是 <?> 显示,则可能是浏览器的问题。检查您的字符编码设置为什么。

编辑:就像马里奥评论的那样,也可能只是因为您使用的字体中不存在该字符。

关于php - ±(加/减字符)转换为黑色问号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13401068/

相关文章:

在 C 中将 "ASCII decimal"转换为整数

python - 检测 Python 字符串是数字还是字母

php - Javascript 到 PHP domain.charCodeAt(i)

php - MPDF 复选框未在 PDF 中仅显示点

php - 如何处理 SQL 字段中的数组?

java - Jsoup:用新行替换标签=>新行以空格开头

JavaScript 幻灯片放映不流畅

ascii - 如何将 8 位字符转换为 7 位字符? (即 Ü 到 U)

php - 在 PHP 中用多个定界符拆分字符串

php - 是否可以阻止 Zend Studio 像这样格式化嵌入式 PHP?