2011-10-17 48 views
1

我在系統中使用tinymce作爲我的帖子,並且出現重音字符問題,現在這裏是發生在我身邊的事情。wysywyg編輯器的多語言問題

如果鍵入法語重音字符可以說à我的小MCE其轉換成à但我真的需要這個角色à在我的數據庫保存而不是保存à

我也試過用ckEditor,但問題是一樣的。

任何人都可以告訴我如何克服這個問題,因爲我在緊迫的期限,它真的變得頭痛,如果任何人都可以幫助,這將是偉大的。

+0

TinyMCE中會使用某種'用htmlspecialchars()',嘗試,如果你能找到一種方法來禁用。 :) – CodeCaster

+0

你有沒有嘗試卸載相關的插件?我認爲這是'specialchars'和'entities'。 - http://docs.cksource.com/ckeditor_api/symbols/CKEDITOR.config.html#.removePlugins – Smamatti

回答

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; 
    } 

我希望它能幫助任何人得到同樣的問題。

問候, 穆斯塔法

+0

+1共享解決方案 – Thariama