Server Change - rtf export faiure

2010-06-24
2013-05-28
  • Knut Krüger
    Knut Krüger
    2010-06-24

    Hi to all we changed the server and now there are problems with the rtf export. The page is blank.
    Hi Matthias, Hi
    I changed the depends path (external database) but the old installation is working fine with the wrong path

    The file attributes are set - the exec dir is set , what else could i look for?

    Kind regards Knut

     
  • Have you enabled error logging & read your log?

    IIRC, RTF doesn't rely on the depends path.

     
  • Knut Krüger
    Knut Krüger
    2010-06-24

    Hi Karnesky,
    with errors I get an notice very often:
    Notice: iconv() : Wrong charset, conversion from `ISO-8859-1' to `UTF-8//IGNORE' is not allowed in /home/www/a0404272112/html/uni/refdb/includes/include.inc.php  on line 5385

    and after set Cannot modify header information - headers already sent by (ou…
    because of the notice.

    and after that:
    Warning: Cannot modify header information - headers already sent by (output started at /home/www/a0404272112/html/uni/refdb/includes/include.inc.php:5385) in /home/www/a0404272112/html/uni/refdb/includes/include.inc.php  on line 5150

    Warning: Cannot modify header information - headers already sent by (output started at /home/www/a0404272112/html/uni/refdb/includes/include.inc.php:5385) in /home/www/a0404272112/html/uni/refdb/search.php on line 1980
    {\rtf1\ansi\ansicpg1252 {\colortbl;\red0\green0\blue0;\red128\green0\blue0;\red0\green128\blue0;\red128\green128\blue0;\red0\green0\blue128;\red128\green0\blue128;\red0\green128\blue128;\red128\green128\blue128;\red192\green192\blue192;\red255\green0\blue0;\red0\green255\blue0;\red255\green255\blue0;\red0\green0\blue255;\red255\green0\blue255;\red0\green255\blue255;\red255\green255\blue255;} {\fonttbl {\f0\fcharset0 Arial;} {\f1\fcharset0 Times New Roman;} } \qj\li360\ri0\fi-360 {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} {\f1\fs24 \par} }
    Kind regards Knut

     
  • Notice: iconv() : Wrong charset, conversion from `ISO-8859-1' to `UTF-8//IGNORE' is not allowed in /home/www/a0404272112/html/uni/refdb/includes/include.inc.php on line 5385

    See http://bugs.php.net/bug.php?id=44096 for some common causes of why iconv can't find your character sets.  One possible work-around if you and your server administrators cannot figure out how to fix this would be to use mb_convert_encoding().  It is worth addressing this notice, as it refers to the same line of code in the actual warnings.  You should also check for other character set issues:
    http://refbase.textdriven.com/Installation-Troubleshooting#Problems_with_special_characters

     
  • Knut Krüger
    Knut Krüger
    2010-06-26

    Hi Richard,
    I tried to reproduce the problem:
    The code is working with mb_convert_encoding as you can see in
    http://references.equine-behaviour.de/unicode_test.php
    but refbase is sending:

    Notice: iconv() [function.iconv]: Wrong charset, conversion from `ISO-8859-1' to `UTF-8//IGNORE' is not allowed in /home/www/a0404272112/html/uni/refdb/includes/include.inc.php on line 5388
    $sourceCharset: ISO-8859-1 $targetCharset//$transliteration UTF-8//IGNORE $sourceString: (1901). The Traffic In Old Horses. {\i The Lancet}, {\i 157}(4042), 495.
    

    I coded the line in $convertedString = mb_convert_encoding($sourceString,'utf-8','iso-8859-1');
    and it is working.
    So what could be the workaround to use $sourceCharset, "$targetCharset//$transliteration" without getting the error from (in my opinion) UTF-8//IGNORE

    Ok I could delete the /IGNORE but I do not know what else could be inside the $targetCharset//$transliteration an what problem this would cuase else.

    Kind regards Knut

     
  • Knut Krüger
    Knut Krüger
    2010-06-27

    Hi Richard,
    what do you think: Does this will handle all possibilities of the content: "$targetCharset//$transliteration"?

        $temp=explode("//", "$targetCharset//$transliteration");
                if ( $temp[1]== 'IGNORE')
                     $utf_string = $temp[0];
                else                                            
                $utf_string = "$targetCharset//$transliteration";                                           
                $convertedString = mb_convert_encoding($sourceString,$utf_string,$sourceCharset);
    

    Kind Regards Knut

     
  • So what could be the workaround to use $sourceCharset, "$targetCharset//$transliteration" without getting the error from (in my opinion) UTF-8//IGNORE

    Well, again, the error is really that your server is misconfigured & is likely missing some files that are needed to use iconv.

    $transliteration can only be null or 'IGNORE' or 'TRANSLIT', so your function seems reasonable to me.

    -Rick