線上客服系統轉碼問題請教!!

edited 十月 2013 in 中文化發表區
各位好!!

我在板主的建議下,下載並試用了這個軟體,
發現這是個不錯的程式,並進行以下的翻譯作業:

1. 將編碼改成utf-8

2. 翻譯了語言檔案 english.php

3. 修改了模組osTicket下/include的php檔(這個模組直接用英文製作,沒有語言檔案)所以我大概都改了中文

大致上已勉強可以顯示中文化,可是目前尚有兩個問題:
能否修改提供意見?

1. 線上對話的時候.顯是中文沒有問題,可是談話記錄卻記錄成亂碼(客服人員是亂碼,客戶端是正常),請問這個應該改那理呢?

2. ostiket的郵件寄送服務應該如何規定使用utf-8的編碼呢?

(對話後的郵件寄送已改進,我利用phpmailer/下的class.phpmailer.php改進的這個問題)

由於我的經驗不足,請指教謝謝!!

附上已安裝的程式打包一份請參考!!



Roy

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1835

評論

  • edited 七月 2006
    週末不在家裡,上班時間再試 :)
  • edited 七月 2006
    第一個問題已經可以解決,是因為 HCL 把所有的字元當作 ASCII 處理造成。

    打開 hcl/class/functions.php ,找到
    function char_to_html($string)
        {
            $html = '';
            for ($i = 0; $i < strlen($string); $i++) {
                $html .= '&#'.ord($string{$i}).';';
            }
            return $html;
        }
    

    改成:
    function char_to_html($string)
        {
            global $lang;
            return htmlentities($string, ENT_QUOTES, $lang['charset']);
    /*
            $html = '';
            for ($i = 0; $i < strlen($string); $i++) {
                $html .= '&#'.ord($string{$i}).';';
            }
            return $html;
    */
        }
    

    找到:
    function html_to_char($string)
        {
            $character = split(";", $string);
            $text = '';
            foreach ($character as $key => $val) {
                if (strlen($character[$key]) > 2) {
                    $ascii = substr($character[$key], 2);
                    $html = chr($ascii);
                    $text = $text.$html;
                }
            }
            return $text;
        }
    

    改成:
    function html_to_char($string)
        {
            global $lang;
            return html_entity_decode($string, ENT_QUOTES, $lang['charset']);
    /*
            $character = split(";", $string);
            $text = '';
            foreach ($character as $key => $val) {
                if (strlen($character[$key]) > 2) {
                    $ascii = substr($character[$key], 2);
                    $html = chr($ascii);
                    $text = $text.$html;
                }
            }
            return $text;
    */
        }
    

    關於第二個問題,很有趣的事情是, ostiket 的官方網站上找不到原始程式(第一版停止支援,但是第二版還沒推出,結果兩個版本都不提供下載...裝笑委...),所以如果能夠,請提供 ostiket 原始程式。 :)
  • edited 七月 2006
    您好!!
    非常感謝您的解答!!
    第一個問題我已經按照您的修改解決了問題
    問題得到滿意的解決!!
    Osticket 的程式是程式內附的模組..
    我把原程式壓縮了.
    請看一下!!
    非常感謝您解決了我近一個星期以來的困擾
    等我把問題解決我會想辦法做一個下載版本提供使用!!
    謝謝!!

    Roy
  • edited 七月 2006
    osTicket 的信件似乎是透過 perl 送出...
  • edited 七月 2006
    您好!!

    關於之前的問題:
    線上對話的時候.顯是中文沒有問題,可是談話記錄卻記錄成亂碼(客服人員是亂碼,客戶端是正常),經過您的修正原本已正常,可是幾天後卻出現以下訊息:

    Warning: cannot yet handle MBCS in html_entity_decode()! in /home/dnd4u/public_html/hcl2/class/functions.php on line 98
    .
    (一長排的同樣訊息)(寄出存檔郵件時)
    97 global $lang;
    98 return html_entity_decode($string, ENT_QUOTES, $lang);

    請問一下,這要怎麼修正呢?
    (如果 我的使用者有些是大陸的同胞,那應該如何修正呢?)

    謝謝您的解答!!


    Roy
  • edited 七月 2006
    你的環境是 PHP4 嗎?找到一個可能的 bug :
    http://bugs.php.net/bug.php?id=25670

    如果已經是 PHP5 ,可以透過上面網頁提到的方式試試

    郵件的問題無解,我對 perl 不熟。
  • edited 七月 2006
    您好!!

    我知道了!!

    已經把空間換成php5

    問題處理完畢..^_^

    (我的空間商讓我自由調整使用php4.4.2 or php5)
Sign In or Register to comment.