Browse Source

#968 Interactive CSV Export truncated or missing characters (since 2.0.3)

git-svn-id: http://svn.code.sf.net/p/itop/code/trunk@3354 a333f486-631f-4898-b8df-5754b55c2be0
romainq 10 years ago
parent
commit
688b2bcc47
2 changed files with 3 additions and 2 deletions
  1. 2 1
      application/displayblock.class.inc.php
  2. 1 1
      webservices/export.php

+ 2 - 1
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 .= "<div id=\"csv_content_loading\"><div style=\"width: 250px; height: 20px; background: url(../setup/orange-progress.gif); border: 1px #999 solid; margin-left:auto; margin-right: auto; text-align: center;\">".Dict::S('UI:Loading')."</div></div><textarea id=\"csv_content\" style=\"display:none;\">\n";
 			//$sHtml .= htmlentities($sCSVData, ENT_QUOTES, 'UTF-8');
 			$sHtml .= "</textarea>\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':

+ 1 - 1
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')
 				{