我有一个问题utf8编码。在wordpress数据库中,有许多表情符号但是当我编码时,它们不再出现。有一个“?”而是出现了。
你能帮帮我吗?我认为它来自utf8_encode这是代码:
$results = $connection->query($req) or die(Array());
$results->setFetchMode(PDO::FETCH_OBJ);
$i = 0;
$jsonArray = Array();
while($row = $results->fetch()) {
$jsonArray[$i][0] = utf8_encode($row->comment_author);
$jsonArray[$i][1] = utf8_encode(nl2br($row->comment_content));
$jsonArray[$i][2] = utf8_encode($row->comment_date);
$jsonArray[$i][3] = utf8_encode($row->replyingToAuthor);
$jsonArray[$i][4] = utf8_encode($row->comment_ID);
++$i;
}
$results->closeCursor();
$connection = NULL;
echo json_encode($jsonArray);
这是显示评论的行:
$jsonArray[$i][1] = utf8_encode(nl2br($row->comment_content));
我对编码重音没有问题,只有表情符号
谢谢
答案 0 :(得分:0)
这就是我为解决这个问题所做的:
创建一个功能
function accents($texto) {
$text = nl2br($text); // allows to have spaces in the text
$text = utf8_encode($text); //allows to have accents and special characters
return $text;
}
调用函数
echo formatoAcentos($post['texto']);
答案 1 :(得分:0)
我改进了它,因为它不起作用。
功能:
@json
函数调用。
// vanilla js - value example
let pay = JSON.parse(document.getElementById('pay-data').value);
// jquery - value example
let pay = JSON.parse($('#pay-data').val());
// vanilla js - attribute example
let pay = JSON.parse(document.getElementById('pay-data').getAttribute('someattribute'));
// jquery - attribute example
let pay = JSON.parse($('#pay-data').attr('someattribute'));
// vanilla js - data-* attribute example
let pay = JSON.parse(document.getElementById('pay-data').dataset.payment);
// jquery - data-* attribute example
let pay = JSON.parse($('#pay-data').data('payment'));