我在我的网站上使用AJAX,拉丁文1个字符确实存在问题。我找到的解决方案是在html实体中转换重音字符,但我不知道如何。
我想转换ó,例如,在ó
我尝试使用htmlentities(“ó”),但它打印了ó
。我不知道该怎么办
我正在使用ZF和JQuery。 我的网站使用表单记录一些数据。要插入此数据,请使用
$data = array(
'reg_creditorid' => $this->_request->getParam('creditor'),
'reg_debtorid' => $this->_request->getParam('debtor'),
'reg_reason' => htmlentities($this->_request->getParam('reason')),
'reg_value' => str_replace(',', '.', $this->_request->getParam('value')),
'reg_date' => date('Y-m-d')
);
$this->registries->insert($data);
当我尝试在文本输入中输入ó时,我注意到当我使用getParam时,它获得了ó
而不是ó
< / p>
我创建了一个测试项目,没有任何东西(没有ZF,没有jQuery,没有MVC,没有)。我编码echo htmlentities('ó');
并打印ó
。那可能是什么呢?
答案 0 :(得分:3)
选择一个字符编码(UTF-8比ISO-8859-1更好)并坚持下去。
无论正在做什么,它都将数据视为与实际使用的不同的编码。
答案 1 :(得分:3)
将您用于页面的字符集传递给htmlentities函数:
htmlentities("ó",ENT_NOQUOTES,'ISO-8859-1')