Hi,<br>To support UTF-8 in vtiger CRM, I have made some changes .<br><span style="font-weight: bold;">1.Ajax chat </span><br>I contacted with developer of Ajax chat. I got solution for UTF-8 problem.<br>vchat.php:<br>From:
<br>&lt;script type=&quot;text/javascript&quot; src=&quot;modules/Contacts/js/ajax.js&quot;&gt;&lt;/script&gt;<br>&lt;script type=&quot;text/javascript&quot; src=&quot;modules/Contacts/js/dom-drag_p.js&quot;&gt;&lt;/script&gt;
<br>&lt;script type=&quot;text/javascript&quot; src=&quot;modules/Contacts/js/css-window_p.js&quot;&gt;&lt;/script&gt;<br>&lt;script type=&quot;text/javascript&quot; src=&quot;modules/Contacts/js/chat.js&quot;&gt;&lt;/script&gt;
<br>To:<br>&lt;script type=&quot;text/javascript&quot; charset=&quot;iso-8859-1&quot; src=&quot;modules/Contacts/js/ajax.js&quot;&gt;&lt;/script&gt;<br>&lt;script type=&quot;text/javascript&quot; charset=&quot;iso-8859-1&quot; src=&quot;modules/Contacts/js/dom-drag_p.js&quot;&gt;&lt;/script&gt;
<br>&lt;script type=&quot;text/javascript&quot; charset=&quot;iso-8859-1&quot; src=&quot;modules/Contacts/js/css-window_p.js&quot;&gt;&lt;/script&gt;<br>&lt;script type=&quot;text/javascript&quot; charset=&quot;iso-8859-1&quot; src=&quot;modules/Contacts/js/chat.js&quot;&gt;&lt;/script&gt;
<br>chat.php:<br>From:<br>function submit($msg, $to=0)<br>{<br>&nbsp;&nbsp;&nbsp; $msg = $this-&gt;msgParse($msg);<br>&nbsp;&nbsp;&nbsp; ...<br>}<br>To:<br>function submit($msg, $to=0)<br>
{<br>&nbsp;&nbsp;&nbsp; $msg = utf8RawUrlDecode($msg);<br>
&nbsp;&nbsp;&nbsp; $msg = $this-&gt;msgParse($msg);<br>
&nbsp;&nbsp;&nbsp; ...<br>
}<br><br><span style="font-weight: bold;">2.Add a function in PHP like unescape in javascript</span><br>utils.php:<br>/**<br>* the function is like unescape in javascript<br>* added by dingjianting on 2006-10-1 for picklist editor
<br>*/<br>function utf8RawUrlDecode ($source) {<br>&nbsp;&nbsp;&nbsp; $decodedStr = &quot;&quot;;<br>&nbsp;&nbsp;&nbsp; $pos = 0;<br>&nbsp;&nbsp;&nbsp; $len = strlen ($source);<br>&nbsp;&nbsp;&nbsp; while ($pos &lt; $len) {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $charAt = substr ($source, $pos, 1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($charAt == '%') {
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $charAt = substr ($source, $pos, 1);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ($charAt == 'u') {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // we got a unicode character<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $unicodeHexVal = substr ($source, $pos, 4);
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $unicode = hexdec ($unicodeHexVal);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $entity = &quot;&amp;#&quot;. $unicode . ';';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $decodedStr .= utf8_encode ($entity);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos += 4;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // we have an escaped ascii character<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $hexVal = substr ($source, $pos, 2);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $decodedStr .= chr (hexdec ($hexVal));<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos += 2;
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } else {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $decodedStr .= $charAt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $pos++;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; return $decodedStr;<br>}<br><br><br><span style="font-weight: bold;">3. Picklist Editor</span>
<br>UpdateComboValues.php:<br>From:<br>$fldPickList =&nbsp; $_REQUEST['listarea'];<br>To:<br>$fldPickList =&nbsp; $_REQUEST['listarea'];<br>//changed by dingjianting on 2006-10-1 for picklist editor<br>$fldPickList = utf8RawUrlDecode($fldPickList);
<br><span style="font-weight: bold;">4.Ajax Edit</span><br>DetailViewAjax.php in each entity module:<br>From:<br>$fieldvalue = $_REQUEST[&quot;fieldValue&quot;];<br>To:<br>$fieldvalue = utf8RawUrlDecode($_REQUEST[&quot;fieldValue&quot;]);
<br><br><span style="font-weight: bold;">5.Custom Fields for Asia language</span><br>include/js/customview.js:<br>From:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var re1=/^[a-z\d\_ ]+$/i<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!re1.test(str))<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(&quot;Special characters are not allowed in Label field&quot;)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <br>To:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /*<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; changed by dingjianting on 2006-10-1 for custom fields in setting module<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var re1=/^[a-z\d\_ ]+$/i<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if (!re1.test(str))
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; alert(&quot;Special characters are not allowed in Label field&quot;)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; */<br><br>If any problems , Pls feel free to let me know.<br><br>
Thanks and regards,<br>Tim Ding<br><br><br><br><div><span class="gmail_quote">On 10/4/06, <b class="gmail_sendername">Richie</b> &lt;<a href="mailto:richie@vtiger.com">richie@vtiger.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>Hi!<br><br>We&nbsp;have&nbsp;our&nbsp;hands&nbsp;full&nbsp;here&nbsp;and&nbsp;we&nbsp;still&nbsp;have&nbsp;more&nbsp;bugs&nbsp;to&nbsp;fix.<br>All&nbsp;contributions&nbsp;are&nbsp;invited&nbsp;for&nbsp;the&nbsp;bug-fixes/features.<br>Do&nbsp;put&nbsp;a&nbsp;blurb&nbsp;here&nbsp;and&nbsp;post&nbsp;it&nbsp;in&nbsp;the&nbsp;trac.<br><br>Thanks,<br><span style="font-weight: bold;">
Richie</span></div>
<br>_______________________________________________<br>Get started with Online collaboration office &amp; productivity tools - <a onclick="return top.js.OpenExtLink(window,event,this)" href="http://zoho.com?vt" target="_blank">
http://zoho.com?vt</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>________________________________________<br>中国开源客户关系管理系统: <a href="http://www.c3crm.com">http://www.c3crm.com</a><br>-----------------------------------------------------------------------