diff --git a/application/displayblock.class.inc.php b/application/displayblock.class.inc.php index 3d1aa5f42..4b9efb6c2 100644 --- a/application/displayblock.class.inc.php +++ b/application/displayblock.class.inc.php @@ -772,6 +772,7 @@ class DisplayBlock $sCsvFile = strtolower($this->m_oFilter->GetClass()).'.csv'; $sDownloadLink = utils::GetAbsoluteUrlAppRoot().'webservices/export.php?expression='.urlencode($this->m_oFilter->ToOQL(true)).'&format=csv&filename='.urlencode($sCsvFile); + $sAjaxLink = $sDownloadLink.'&charset=UTF-8'; $sLinkToToggle = utils::GetAbsoluteUrlAppRoot().'pages/UI.php?operation=search&'.$oAppContext->GetForLink().'&filter='.urlencode($this->m_oFilter->serialize()).'&format=csv'; if ($bAdvancedMode) { @@ -833,7 +834,7 @@ class DisplayBlock $sHtml .= "
".Dict::S('UI:Loading')."
\n"; - $oPage->add_ready_script("$.post('$sDownloadLink', {}, function(data) { $('#csv_content').html(data); $('#csv_content_loading').hide(); $('#csv_content').show();} );"); + $oPage->add_ready_script("$.post('$sAjaxLink', {}, function(data) { $('#csv_content').html(data); $('#csv_content_loading').hide(); $('#csv_content').show();} );"); break; case 'modify': diff --git a/webservices/export.php b/webservices/export.php index 1d4eab3c3..4a6ff8b47 100644 --- a/webservices/export.php +++ b/webservices/export.php @@ -223,7 +223,7 @@ if (!empty($sExpression)) case 'csv': $oP = new CSVPage("iTop - Export"); $sFields = implode(',', $aFields); - $sCharset = MetaModel::GetConfig()->Get('csv_file_default_charset'); + $sCharset = utils::ReadParam('charset', MetaModel::GetConfig()->Get('csv_file_default_charset'), true /* Allow CLI */, 'raw_data'); $sCSVData = cmdbAbstractObject::GetSetAsCSV($oSet, array('fields' => $sFields, 'fields_advanced' => $bFieldsAdvanced, 'localize_values' => $bLocalize), $sCharset); if ($sCharset == 'UTF-8') {