You need to sign in to do that
Don't have an account?
IvanWu
chinese characters can not display properly on VF page after import from a CSV file
hello ,guys
I have a csv file and there are some chinese character in it ,I import it by apex code ,after import finished ,i will display the import data on a VF page ,I found that chinese characters can not display correctly ,I want to know why and how to resolve this problem .thanks in advance。
I have a csv file and there are some chinese character in it ,I import it by apex code ,after import finished ,i will display the import data on a VF page ,I found that chinese characters can not display correctly ,I want to know why and how to resolve this problem .thanks in advance。
public with sharing class SalesforcastExcelController { public List<Sales_Forecast__c> Sales_ForecastList{get;set;} public Blob csvFileBody{get;set;} public string csvAsString{get;set;} public String[] csvFileLines{get;set;} public String operation{get;set;} public List<Sales_Forecast__c> Sf_importList{get;set;} public List<Sales_Forecast__c> Sf_DelList{get;set;} public List<Sales_Forecast__c> Sf_InsertList{get;set;} public List<Sales_Forecast__c> Sf_UpdateList{get;set;} public SalesforcastExcelController(){ Sales_ForecastList=New List<Sales_Forecast__c>(); Sf_importList=New List<Sales_Forecast__c>(); Sf_DelList=New List<Sales_Forecast__c>(); Sf_InsertList=New List<Sales_Forecast__c>(); Sf_UpdateList=New List<Sales_Forecast__c>(); csvFileLines = new String[]{}; Date today=system.today(); Sales_ForecastList=[select Id,Name,OwnerId,Description__c,Foecast_Date__c,Forecast_Amount__c,IsThisMonth__c,Opportunity__c,Quantity__c,Product_Portfolio_Package_Series__c,Unit_Price__c from Sales_Forecast__c where Foecast_Date__c<today]; } public PageReference ExportExcel(){ return new PageReference('/apex/MQ_ExportPage'); } public PageReference ImportExcel(){ return new PageReference('/apex/MQ_ImportPage'); } public void importCSVFile(){ try{ Sf_importList.clear(); Sf_DelList.clear(); Sf_UpdateList.clear(); HttpRequest request = new HttpRequest(); request.setBodyAsBlob(csvFileBody); csvAsString = request.getBody(); //csvAsString =csvFileBody.toString(); csvFileLines = csvAsString.split('\n'); for(Integer i=1;i<csvFileLines.size();i++){ Sales_Forecast__c Sales_Forecast = new Sales_Forecast__c(); string[] csvRecordData = csvFileLines[i].split(','); if(String.isNotBlank(csvRecordData[0])){ Sales_Forecast.Id=csvRecordData[0]; } Sales_Forecast.Name__c = csvRecordData[1]; Sales_Forecast.OwnerId=csvRecordData[2]; Sales_Forecast.Product_Portfolio_Package_Series__c=csvRecordData[4]; if(String.isNotBlank(csvRecordData[5])){ Sales_Forecast.Quantity__c=Decimal.valueOf(csvRecordData[5]); } if(csvRecordData[6].contains('/') ){ csvRecordData[6]=csvRecordData[6].replace('/','-'); } Sales_Forecast.Foecast_Date__c =date.parse(csvRecordData[6]); Sales_Forecast.Description__c=csvRecordData[7]; if(String.isNotBlank(csvRecordData[8])){ Sales_Forecast.Unit_Price__c=Decimal.valueOf(csvRecordData[8]); } Sales_Forecast.Opportunity__c = csvRecordData[9]; if(String.isNotBlank(csvRecordData[11])){ Sales_Forecast.Forecast_Amount__c = Decimal.valueOf(csvRecordData[11]); } String tempOperation=csvRecordData[12]; tempOperation=tempOperation.toUpperCase(); if(tempOperation=='DEL'){ Sf_DelList.add(Sales_Forecast); operation='删除'; }else{ if(tempOperation=='ADD'){ operation='新增'; }else{ operation='修改'; } Sf_UpdateList.add(Sales_Forecast); } Sales_Forecast.Operation__c=operation; Sf_importList.add(Sales_Forecast); } } catch (Exception e) { ApexPages.Message errorMessage = new ApexPages.Message(ApexPages.severity.ERROR,e.getMessage()); ApexPages.addMessage(errorMessage); } } public void RecordHandle(){ try{ delete Sf_DelList; upsert Sf_UpdateList; Sf_DelList.clear(); Sf_UpdateList.clear(); ApexPages.Message SuccessMessage = new ApexPages.Message(ApexPages.severity.CONFIRM,'导入成功!'); ApexPages.addMessage(SuccessMessage); } catch(Exception e) { ApexPages.Message errorMessage = new ApexPages.Message(ApexPages.severity.ERROR,e.getMessage()); ApexPages.addMessage(errorMessage); } } }