我有一个使用jQuery jEditable插件的网站(通过AJAX进行内联编辑)。问题是,如果你输入了类似"Entrées"的东西(这是用于编辑餐厅菜单的,所以应该期望这样的输入),那么获得值的AJAX PHP脚本会收到"Entrâ©es"。如何确保正确发送发送的值?
更奇怪的是,数据库值存储为"Entrées",但当显示在网页上时,它会正确显示"Entrèes"。
不仅要确保输入文本的表单,还要确保显示文本的页面使用UTF8编码。如果你的"测试"是一个简单的echo ...; exit;
,那么这个页面很可能没有呈现为UTF8。
在发送字符串之前,必须在字符串上使用javascript encodeURI()函数。
我想我可能已经解决了这个问题。使用escape()代替encodeURI()可以正常工作。有人知道为什么会这样吗?
escape()返回:Entr%E9es
返回encodeURI():Entr%C3%A9es
很奇怪。