我在系统中使用了tinymce并且在重音字符中遇到问题,现在这就是我身边发生的事情。
如果我输入法语重音字符,请说à
我的小mce将其转换为à
但我确实需要在我的数据库中保存此字符à
而不是保存{{1} }}
我也尝试过使用ckEditor,但问题是一样的。
任何人都可以告诉我如何克服这个问题,因为我处于紧迫的截止日期并且它真的变得头疼,如果有人可以提供帮助,那将是很好的。
答案 0 :(得分:1)
好吧我用php法国口音数组解决了它。我创建了以下功能。
function replaceAccents($content)
{
//French Accent Array
$arrFrenchAccent=array('À'=>'À', 'à'=>'à', 'Á'=>'Á', 'á'=>'á', 'Â'=>'Â', 'â'=>'â', 'Ã'=>'Ã', 'ã'=>'ã', 'Ä'=>'Ä', 'ä'=>'ä', 'Å'=>'Å', 'å'=>'å', 'Æ'=>'Æ', 'æ'=>'æ', 'Ç'=>'Ç', 'ç'=>'ç', 'Ð'=>'Ð', 'ð'=>'ð', 'È'=>'È', 'è'=>'è', 'É'=>'É', 'é'=>'é', 'Ê'=>'Ê', 'ê'=>'ê', 'Ë'=>'Ë', 'ë'=>'ë', 'Ì'=>'Ì', 'ì'=>'ì', 'Í'=>'Í', 'í'=>'í', 'Î'=>'Î', 'î'=>'î', 'Ï'=>'Ï', 'ï'=>'ï', 'Ñ'=>'Ñ', 'ñ'=>'ñ', 'Ò'=>'Ò', 'ò'=>'ò', 'Ó'=>'Ó', 'ó'=>'ó', 'Ô'=>'Ô', 'ô'=>'ô', 'Õ'=>'Õ', 'õ'=>'õ', 'Ö'=>'Ö', 'ö'=>'ö', 'Ø'=>'Ø', 'ø'=>'ø', 'Œ'=>'Œ', 'œ'=>'œ', 'ß'=>'ß', 'Þ'=>'Þ', 'þ'=>'þ', 'Ù'=>'Ù', 'ù'=>'ù', 'Ú'=>'Ú', 'ú'=>'ú', 'Û'=>'Û', 'û'=>'û', 'Ü'=>'Ü', 'ü'=>'ü', 'Ý'=>'Ý', 'ý'=>'ý', 'Ÿ'=>'Ÿ', 'ÿ'=>'ÿ');
//Fliping arrays(keys and values) removing indexes using array_values.
$originalFrench = array_values(array_flip($arrFrenchAccent));
//removing indexes using array_values.
$arrFrenchAccent = array_values($arrFrenchAccent);
//replacing e.g À with À within the content
$content = utf8_encode(str_replace($arrFrenchAccent,$originalFrench,$content));
return $content;
}
我希望它可以帮助那些遇到同样问题的人。
此致 穆斯塔法
答案 1 :(得分:0)
检查tinymce参数entity_encoding.