Orangescrum/orangescrum-community

Cannot use Chinese word '文' in title, content

Opened this issue · 1 comments

In app/Controller/Component/FormatComponent.php
comment lines 1326 & 1327, It's solved.

Any better solution for this problem?

I fixed this problem for Turkish.

You need to edit this files.
app/Controller/Component/FormatComponent.php
app/View/Helper/FormatHelper.php

function convert_ascii($string) is problematic.

I changed it to;

   function convert_ascii($string){
        $string = $this->sef_tr($string);
   // Replace Single Curly Quotes
   $search[]  = chr(226).chr(128).chr(152);
   $replace[] = "'";
   $search[]  = chr(226).chr(128).chr(153);
   $replace[] = "'";

   // Replace Smart Double Curly Quotes
   $search[]  = chr(226).chr(128).chr(156);
   $replace[] = '\"';
   $search[]  = chr(226).chr(128).chr(157);
   $replace[] = '\"';

   // Replace En Dash
   $search[]  = chr(226).chr(128).chr(147);
   $replace[] = '--';

   // Replace Em Dash
   $search[]  = chr(226).chr(128).chr(148);
   $replace[] = '---';

   // Replace Bullet
   $search[]  = chr(226).chr(128).chr(162);
   $replace[] = '*';

   // Replace Middle Dot
   $search[]  = chr(194).chr(183);
   $replace[] = '*';

   // Replace Ellipsis with three consecutive dots
   $search[]  = chr(226).chr(128).chr(166);
   $replace[] = '...';

   $search[]  = chr(150);
   $replace[] = "-";

   // Apply Replacements
   $string = str_replace($search, $replace, $string);

   // Remove any non-ASCII Characters
   //$string = preg_replace("/[^\x01-\x7F]/","", $string);
      $string = $this->sef_tr_normal($string);
   return $string;
}


   function sef_tr($s)
   {
       $s1 = array('ş', 'Ş', 'ı', 'İ', 'ğ', 'Ğ', 'ü', 'Ü', 'ö', 'Ö', 'Ç', 'ç');
       $s2 = array('*s*', '*S*', '*i*', '*I*', '*g*', '*G*', '*u*', '*U*', '*o*', '*O*', '*C*', '*c*',);
       $s = str_replace($s1, $s2, $s);
       return $s;
   }

   function sef_tr_normal($s)
   {
       $s1 = array('ş', 'Ş', 'ı', 'İ', 'ğ', 'Ğ', 'ü', 'Ü', 'ö', 'Ö', 'Ç', 'ç');
       $s2 = array('*s*', '*S*', '*i*', '*I*', '*g*', '*G*', '*u*', '*U*', '*o*', '*O*', '*C*', '*c*',);
       $s = str_replace($s2,$s1, $s);
       return $s;
   }