- 论坛徽章:
- 0
|
fix arabic cross_site_rss with ajaxcrud
1. change the mysql table / fields to utf8_general_ci and add a line on preheader.php
mysql_query("SET NAMES utf8");
apply utf-8 for all relative php/js files.
2. add tinyMCE in php page.
Html代码- 1.<script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
- 2.<link rel="stylesheet" href="tiny_mce/themes/advanced/skins/default/ui.css">
- 3.
- 4.<script xmlns="http://www.w3.org/1999/xhtml" language="javascript" type="text/javascript">
- 5. tinyMCE.init({
- 6. mode : "textareas",
- 7. theme : "advanced",
- 8. gecko_spellcheck : true,
- 9. remove_linebreaks : true,
- 10. width : "640",
- 11. plugins : "table,advimage,advlink,emotions,iespell,insertdatetime,preview,searchreplace,xhtmlxtras,media,directionality",
- 12. theme_advanced_buttons1 : "justifyleft,ltr,|,justifyright,rtl,|,justifycenter",
- 13. theme_advanced_buttons2 : "bold,italic,underline,strikethrough,|,fontsizeselect,forecolor,backcolor,|,sub,sup",
- 14. theme_advanced_buttons3 : "cut,copy,paste,pastetext,pasteword,removeformat,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,preview",
- 15. theme_advanced_disable : "charmap",
- 16. theme_advanced_toolbar_location : "top",
- 17. theme_advanced_toolbar_align : "left",
- 18. theme_advanced_path_location : "bottom"
- 19. });
- 20.</script>
- <script language="javascript" type="text/javascript" src="tiny_mce/tiny_mce.js"></script>
- <link rel="stylesheet" href="tiny_mce/themes/advanced/skins/default/ui.css">
- <script xmlns="http://www.w3.org/1999/xhtml" language="javascript" type="text/javascript">
- tinyMCE.init({
- mode : "textareas",
- theme : "advanced",
- gecko_spellcheck : true,
- remove_linebreaks : true,
- width : "640",
- plugins : "table,advimage,advlink,emotions,iespell,insertdatetime,preview,searchreplace,xhtmlxtras,media,directionality",
- theme_advanced_buttons1 : "justifyleft,ltr,|,justifyright,rtl,|,justifycenter",
- theme_advanced_buttons2 : "bold,italic,underline,strikethrough,|,fontsizeselect,forecolor,backcolor,|,sub,sup",
- theme_advanced_buttons3 : "cut,copy,paste,pastetext,pasteword,removeformat,|,bullist,numlist,|,outdent,indent,|,undo,redo,|,preview",
- theme_advanced_disable : "charmap",
- theme_advanced_toolbar_location : "top",
- theme_advanced_toolbar_align : "left",
- theme_advanced_path_location : "bottom"
- });
- </script>
复制代码 3. remember to trigger the save function before submit on page ajaxCRUD.class.php function insertHeader and function makeAjaxEditor
tinyMCE.triggerSave();
4. decode the fields on function doAction
Php代码- 1.foreach($submitted_array as $field){
- 2. $submitted_values[] = urldecode($field);
- 3.}
- foreach($submitted_array as $field){
- $submitted_values[] = urldecode($field);
- }
复制代码 5. encodeURIComponent on function makeAjaxEditor
Php代码- 1. $return_html .= "<span class=\"editable hand_cursor\" id=\"" . $prefield ."_show\" onClick=\"
- 2.document.getElementById('" . $prefield . "_edit').style.display = '';
- 3.document.getElementById('" . $prefield . "_show').style.display = 'none';
- 4.document.getElementById('" . $input_name . "').focus();
- 5. \">" . $field_text . "</span>
- 6. <span id=\"" . $prefield ."_edit\" style=\"display: none;\">
- 7. <form style=\"display: inline;\" name=\"form_" . $prefield . "\" id=\"form_" . $prefield . "\" onsubmit=\"
- 8. tinyMCE.triggerSave();
- 9. document.getElementById('" . $prefield . "_edit').style.display='none';
- 10. document.getElementById('" . $prefield . "_save').style.display='';
- 11. var req = '" . $this->ajax_file . "?ajaxAction=update&id=" . $unique_id . "&field=" . $field_name . "&table=" . $this->db_table . "&pk=" . $this->db_table_pk . "&val=' + encodeURIComponent(document.getElementById('" . $input_name . "').value);
- 12. sndUpdateReq(req);
- 13. return false;
- 14.\">";
- $return_html .= "<span class=\"editable hand_cursor\" id=\"" . $prefield ."_show\" onClick=\"
- document.getElementById('" . $prefield . "_edit').style.display = '';
- document.getElementById('" . $prefield . "_show').style.display = 'none';
- document.getElementById('" . $input_name . "').focus();
- \">" . $field_text . "</span>
- <span id=\"" . $prefield ."_edit\" style=\"display: none;\">
- <form style=\"display: inline;\" name=\"form_" . $prefield . "\" id=\"form_" . $prefield . "\" onsubmit=\"
- tinyMCE.triggerSave();
- document.getElementById('" . $prefield . "_edit').style.display='none';
- document.getElementById('" . $prefield . "_save').style.display='';
- var req = '" . $this->ajax_file . "?ajaxAction=update&id=" . $unique_id . "&field=" . $field_name . "&table=" . $this->db_table . "&pk=" . $this->db_table_pk . "&val=' + encodeURIComponent(document.getElementById('" . $input_name . "').value);
- sndUpdateReq(req);
- return false;
- \">";
复制代码 6. on file javascript_functions.js
change the charset
http_request.overrideMimeType('text/plain;charset=utf-8');
replace escape to encodeURIComponent for function getFormValues
Javascript代码- 1.str += fobj.elements[i].name + "=" + encodeURIComponent(fobj.elements[i].value) + "&";
- 2.
- 3. var chkValue = encodeURIComponent(fobj.elements[i].value);
- str += fobj.elements[i].name + "=" + encodeURIComponent(fobj.elements[i].value) + "&";
- var chkValue = encodeURIComponent(fobj.elements[i].value);
复制代码 7. add <![CDATA[]]> to rss files - announcement_.php
Php代码- 1.echo " <title><![CDATA[" . $row['announcement_title'] . "]]></title>";
- 2.echo " <description><![CDATA[" . $row['announcement_description'] . "]]></description>";
- echo " <title><![CDATA[" . $row['announcement_title'] . "]]></title>";
- echo " <description><![CDATA[" . $row['announcement_description'] . "]]></description>";
复制代码 8. summary
use javascript function encodeURIComponent but escape to encode value
use php function urldecode to decode value
Java代码- 1.// raw value
- 2.// <p>شعبية (بالصيني</p>
- 3.$str = urldecode('%3Cp%3E%D8%B4%D8%B9%D8%A8%D9%8A%D8%A9%20(%D8%A8%D8%A7%D9%84%D8%B5%D9%8A%D9%86%D9%8A%3C%2Fp%3E');
- 4.echo $str;
- // raw value
- // <p>شعبية (بالصيني</p>
- $str = urldecode('%3Cp%3E%D8%B4%D8%B9%D8%A8%D9%8A%D8%A9%20(%D8%A8%D8%A7%D9%84%D8%B5%D9%8A%D9%86%D9%8A%3C%2Fp%3E');
- echo $str;
复制代码 |
|