View Issue Details

IDProjectCategoryView StatusLast Update
0000823OXID eShop (all versions)1.01. Products (product, categories, manufacturer, promotions etc.)public2012-12-07 14:10
Reportertjungcl Assigned To 
PriorityhighSeveritymajorReproducibilityalways
Status resolvedResolutionfixed 
Product Version4.1.1 revision 18442 
Fixed in Version4.1.2 revision 18998 
Summary0000823: adminstration: articles --> assign attributes --> does not accept specials chars, when shop in utf-8 mode.
DescriptionIf an article has an attribute like "Farbe" --> "grün" in the database, it will be displayed correctly.
But as soon as you hit the save-button in the assign-attributes-dialog, the "grün" will become "gr".

TagsAttributes
Theme
BrowserAll
PHP Version5.2.6
Database Version5.0.33

Activities

dainius.bigelis

2009-04-24 14:51

reporter   ~0000806

The problem occurs because the values inserted in AJAX field are not encoded.
Please check also other similar places for same problem.

arvydas_vapsva

2009-04-27 10:10

reporter   ~0000812

Last edited: 2009-04-27 10:10

Problem is that data submitted by AJAX is not processed, so special characters (like umlauts) are broken. If you need ASAP fix for this problem - open file "out/admin/tpl/popups/article_attribute.tpl" and replace current:

    YAHOO.util.Connect.asyncRequest( 'GET', '[{ $oViewConf->getAjaxLink() }]&cmpid=container2&container=article_attribute&fnc=saveAttributeValue&oxid=[{ $oxid }]&attr_value='+$('attr_value').value+'&attr_oxid='+$('attr_oxid').value, callback );

with:

    YAHOO.util.Connect.asyncRequest( 'GET', '[{ $oViewConf->getAjaxLink() }]&cmpid=container2&container=article_attribute&fnc=saveAttributeValue&oxid=[{ $oxid }]&attr_value=' + encodeURIComponent( $('attr_value').value ) + '&attr_oxid=' + encodeURIComponent( $('attr_oxid').value ), callback );

and "admin/inc/article_attribute.inc.php" and change method ajaxComponent::saveAttributeValue ():

    $sAttributeValue = oxConfig::getParameter( "attr_value");

with:

    $sAttributeValue = oxConfig::getParameter( "attr_value");
    if (!$this->getConfig()->isUtf()) {
        $sAttributeValue = iconv( 'UTF-8', oxLang::getInstance()->translateString("charset"), $sAttributeValue );
    }