View Single Post
  #625  
Old 12-27-2012, 08:47 AM
  Jon's Avatar 
Jon Jon is offline
 

X-Guru
  
Join Date: Oct 2002
Location: Vancouver, Canada
Posts: 4,200
 

Default Re: CDSEO Pro for International Users

Quote:
Originally Posted by not_so_young_greg
This module does not work well with page coding other than Latin-1 - looks like it does not fully support utf-8. It cuts out international characters making it useless for users using different languages on their sites. It should work as x-cart uses utf-8 now (I tried it on a fresh 4.5.4) but it simply does not. The code is encrypted in ioncube so it is impossible to change. Support is non-existent, I opened two tickets, no replay whatsoever. Plus I get mysql errors when I search for product (version 1.8.5). No support on this either.

My advice - if you use a different language for your store, stick with x-cart clean urls. This works fine and is free.

I am currently working on improved internationalization including a version of CDSEO that works with multiple languages. In the meantime, the cdseo_translate.php file should complete the mapping for the urls. You may need to ensure that the file encoding type isn't changed by the program in which you edit the file.

If the titles aren't parsing correctly, open cdseo_config.php and find:

Code:
// From PHP 5.2.3 this functionality is built-in, otherwise use a regex if (version_compare(PHP_VERSION, '5.2.3', '>=') AND function_exists('iconv')) { #$str = htmlspecialchars($str, ENT_QUOTES, '', FALSE); $str = htmlspecialchars(iconv('UTF-8', 'UTF-8//IGNORE', $str), ENT_QUOTES, 'UTF-8', FALSE); } else { $str = preg_replace('/&(?!(?:#\d++|[a-z]++);)/ui', '&amp;', $str); $str = str_replace(array('<', '>', '\'', '"'), array('&lt;', '&gt;', ''', '&quot;'), $str); }

And change to:

Code:
// From PHP 5.2.3 this functionality is built-in, otherwise use a regex #if (version_compare(PHP_VERSION, '5.2.3', '>=') AND function_exists('iconv')) #{ #$str = htmlspecialchars($str, ENT_QUOTES, '', FALSE); # $str = htmlspecialchars(iconv('UTF-8', 'UTF-8//IGNORE', $str), ENT_QUOTES, 'UTF-8', FALSE); #} #else #{ $str = preg_replace('/&(?!(?:#\d++|[a-z]++);)/ui', '&amp;', $str); $str = str_replace(array('<', '>', '\'', '"'), array('&lt;', '&gt;', ''', '&quot;'), $str); #}
Reply With Quote