php - 无法保存 12 ÷ 5 等数据

标签 php jquery ajax

我有以下数据要使用 php 保存在数据库中

我的数据是:12 ÷ 5

我有以下代码:

  $.ajax({
    type: "POST",
    url: "add_proc.php",
    data: "topic="+ encodeURIComponent(field1)

当我在 firebug 中检查 field1 的值时,它是相同的 12 ÷ 5,但当值保存在数据库中时,它是 12 ÷ 5

     $topic=mysql_escape_string($_POST['topic']);
      echo($topic); 

即使我在发布后回显变量的值,我也会得到12 × 5

我不知道问题出在哪里?

最佳答案

÷ 采用 UTF-8 编码 -- http://www.fileformat.info/info/unicode/char/00f7/

#pseudo
utf8('÷')    => 'Ã' + '·'
utf8(0x00F7) => 0xC3, 0xB7

您可以使用utf8_decode (我猜编码来自 $_POST):

$topic = mysql_escape_string(utf8_decode($_POST['topic']));

确保您的数据库/表有 Unicode/UTF-8 support .

或者,将其保留为编码状态,并像页面中的 UTF-8 编码一样echo(如 Ates Goral 建议的那样),以便浏览器将为您处理解码。

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

关于php - 无法保存 12 ÷ 5 等数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1650236/

相关文章:

php - 无法在后端 Magento 上导出导入产品

javascript - 如何使用 jquery 和 javascript 只返回数据而不是 html?

javascript - 验证必须是切换或输入字段

javascript - jquery multiselect 保留以前 onChange 事件的值不使用 AJAX 更新

jquery - 通过 jquery 注入(inject) html 后,事件处理程序无法使用/不使用委托(delegate)

javascript - 使用 AJAX 响应在 JSP 中填充下拉列表

php - 具有特定功能的 IDE

php - 从数据库中获取特定的键

php - 从主表中选择 1 行并从相关表中选择多行

jquery - 如何塑造或掩盖自定义轮播