MySQL将数据存储在数据库中

当我将数据存储到MySQL表中时,我看到货币符号Â,我已经尝试过trim(),但是Â仍未被删除。

JavaScript:

var numZAR=new Intl.NumberFormat("en-ZAR",{    
    style:"currency",currency:"ZAR",});

var total_raw = numZAR.format(Number(final_item_total).toFixed(2));

var total_string=total_raw.toString();

var total_show = total_string;
$('#final_total_amt').text(total_show);

$('#me').val(total_show); //displaying on front end textbox

MySQL语句之前的PHP代码:

$final = $_POST["me"];

$final = trim($final,"ZAR ");

这是表格中显示的内容:Â 2,212.00

请帮助!

MySQL将数据存储在数据库中

s1y2f3x4 回答:MySQL将数据存储在数据库中

trim()用于删除字符串开头和结尾的特定字符。而ltrim()仅用于删除,最后rtrim()仅用于删除。

您可以查找其原型here

因为您似乎使用不正确。

$chars为包含要从字符串开头和结尾删除的各个字符的字符串。然后您将拥有:

$chars = 'Â';
$final = $_POST["me"];
$final = trim($final,$chars);

$final的值为

  

2,212.00

因为'Â'将从一开始就被删除。

现在就'Â'的来源而言,它很可能是由Intl.NumberFormat转换器引起的。如果您所有的后端需求是存储值(没有任何货币符号)-那么我不明白为什么仅从JavaScript中以纯数字形式发送值不会起作用。

所以就让您的JavaScript成为:

var total_raw = Number(final_item_total).toFixed(2);

var total_string=total_raw.toString();

var total_show = total_string;
$('#final_total_amt').text(total_show);

$('#me').val(total_show); //displaying on front end textbox 

那只会以2342.43的格式将浮动值发送到服务器-这样就不需要修剪任何“不需要的值”。

,

您应该看到Â的来源,但是如果您真的找不到它并进行修复,可以使用正则表达式来获取所需的备份。一个简单的例子:

$str = "Â 2,212.00";
preg_match('/[0-9,.]+/',$str,$final); 
echo $final[0];
,

如果该字符串具有固定的特殊字符位置,则可以使用该字符串

$ data = explode('Â','Â2,212.00'); echo $ data [1];

本文链接:https://www.f2er.com/3082389.html

大家都在问