You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
preg_replace_callback handling of danish characters #32
After latest version of FX.php where 'preg_replace' was changed to ‘preg_replace_callback’ in RetrieveFMXML.class.php, FX.php no longer display danish characters like æøå correctly - They output more like japanese characters!
Persistent problem, this. Has a solution been identified?
An example:
"é" {Char(223)} is in my database field is transformed to "ラ"
{char(12521)} by FX for browser display**.
When I revert RetrieveFMXML.class.php file to the older version (using
deprecated 'preg_replace'.), it properly displays "é" in browser.
** using latest download of FX.php from github on running with
PHP5.5/Apache2.4, FMS 14.
How can I get it to correctly handle special unicode characters?
I am not where I can test this right now, but if you replace this function on line 51 of RetrieveFMXML.class.php does it work?
function utf8HTMLEntities($matches) {
// $matches contains full match as first item so everything is +1
if(count($matches) == 3){
return $this->FX->BuildExtendedChar($matches[1],$matches[2]);
}elseif(count($matches) == 4){
return $this->FX->BuildExtendedChar($matches[1],$matches[2],$matches[3]);
}elseif(count($matches) == 5){
return $this->FX->BuildExtendedChar($matches[1],$matches[2],$matches[3],$matches[4]);
}
return ''; // TODO something went wrong, but this should be explicit someday
}
function utf8HTMLEntities($matches) {
// $matches contains full match as first item so everything is +1
if(count($matches) == 3){
return $this->FX->BuildExtendedChar($matches[1],$matches[2]);
}elseif(count($matches) == 4){
return $this->FX->BuildExtendedChar($matches[1],$matches[2],$matches[3]);
}elseif(count($matches) == 5){
return $this->FX->BuildExtendedChar($matches[1],$matches[2],$matches[3],$matches[4]);
}
}
It appears to me that this fix is present in the current version of FX.php (version 6.10 as of this writing.) I'm trying to address a bunch of things right now, so please let me know if this is not fixed at this point.
After latest version of FX.php where 'preg_replace' was changed to ‘preg_replace_callback’ in RetrieveFMXML.class.php, FX.php no longer display danish characters like æøå correctly - They output more like japanese characters!