Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.Designer.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.Designer.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/ClassificationImportTypeDialog.Designer.cs	(revision 13974)
@@ -87,5 +87,5 @@
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
       this.ProblemDataSettingsGroupBox.Controls.Add(this.UniformDistributionOfClassesCheckbox);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 312);
+      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 285);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.UniformDistributionOfClassesCheckbox, 0);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableComboBox, 0);
@@ -110,5 +110,5 @@
       // 
       this.PreviewDatasetMatrix.Location = new System.Drawing.Point(6, 134);
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 172);
+      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 145);
       // 
       // PreviewLabel
@@ -118,5 +118,5 @@
       // TargetVariableComboBox
       // 
-      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.Designer.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.Designer.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.Designer.cs	(revision 13974)
@@ -63,4 +63,8 @@
       this.SeparatorComboBox = new System.Windows.Forms.ComboBox();
       this.CSVSettingsGroupBox = new System.Windows.Forms.GroupBox();
+      this.EncodingInfoLabel = new System.Windows.Forms.Label();
+      this.EncodingLabel = new System.Windows.Forms.Label();
+      this.EncodingComboBox = new System.Windows.Forms.ComboBox();
+      this.CheckboxColumnNames = new System.Windows.Forms.CheckBox();
       this.DateTimeFormatInfoLabel = new System.Windows.Forms.Label();
       this.DecimalSeparatorInfoLabel = new System.Windows.Forms.Label();
@@ -72,5 +76,4 @@
       this.PreviewDatasetMatrix = new HeuristicLab.Data.Views.StringConvertibleMatrixView();
       this.ToolTip = new System.Windows.Forms.ToolTip(this.components);
-      this.CheckboxColumnNames = new System.Windows.Forms.CheckBox();
       ((System.ComponentModel.ISupportInitialize)(this.TrainingTestTrackBar)).BeginInit();
       this.CSVSettingsGroupBox.SuspendLayout();
@@ -249,4 +252,7 @@
       this.CSVSettingsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingInfoLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingLabel);
+      this.CSVSettingsGroupBox.Controls.Add(this.EncodingComboBox);
       this.CSVSettingsGroupBox.Controls.Add(this.CheckboxColumnNames);
       this.CSVSettingsGroupBox.Controls.Add(this.DateTimeFormatInfoLabel);
@@ -261,8 +267,53 @@
       this.CSVSettingsGroupBox.Location = new System.Drawing.Point(12, 32);
       this.CSVSettingsGroupBox.Name = "CSVSettingsGroupBox";
-      this.CSVSettingsGroupBox.Size = new System.Drawing.Size(447, 126);
+      this.CSVSettingsGroupBox.Size = new System.Drawing.Size(447, 153);
       this.CSVSettingsGroupBox.TabIndex = 16;
       this.CSVSettingsGroupBox.TabStop = false;
       this.CSVSettingsGroupBox.Text = "CSV Settings";
+      // 
+      // EncodingInfoLabel
+      // 
+      this.EncodingInfoLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
+      this.EncodingInfoLabel.Image = HeuristicLab.Common.Resources.VSImageLibrary.Information;
+      this.EncodingInfoLabel.Location = new System.Drawing.Point(421, 102);
+      this.EncodingInfoLabel.Name = "EncodingInfoLabel";
+      this.EncodingInfoLabel.Size = new System.Drawing.Size(16, 16);
+      this.EncodingInfoLabel.TabIndex = 27;
+      this.EncodingInfoLabel.Tag = "Select the encoding the file was saved with.";
+      this.ToolTip.SetToolTip(this.EncodingInfoLabel, "Select the encoding the file was saved with.");
+      this.EncodingInfoLabel.DoubleClick += new System.EventHandler(this.ControlToolTip_DoubleClick);
+      // 
+      // EncodingLabel
+      // 
+      this.EncodingLabel.AutoSize = true;
+      this.EncodingLabel.Location = new System.Drawing.Point(6, 103);
+      this.EncodingLabel.Name = "EncodingLabel";
+      this.EncodingLabel.Size = new System.Drawing.Size(52, 13);
+      this.EncodingLabel.TabIndex = 26;
+      this.EncodingLabel.Text = "Encoding";
+      // 
+      // EncodingComboBox
+      // 
+      this.EncodingComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.EncodingComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
+      this.EncodingComboBox.Enabled = false;
+      this.EncodingComboBox.FormattingEnabled = true;
+      this.EncodingComboBox.Location = new System.Drawing.Point(111, 100);
+      this.EncodingComboBox.Name = "EncodingComboBox";
+      this.EncodingComboBox.Size = new System.Drawing.Size(300, 21);
+      this.EncodingComboBox.TabIndex = 25;
+      this.EncodingComboBox.SelectionChangeCommitted += new System.EventHandler(this.CSVFormatComboBoxSelectionChangeCommitted);
+      // 
+      // CheckboxColumnNames
+      // 
+      this.CheckboxColumnNames.AutoSize = true;
+      this.CheckboxColumnNames.Location = new System.Drawing.Point(9, 127);
+      this.CheckboxColumnNames.Name = "CheckboxColumnNames";
+      this.CheckboxColumnNames.Size = new System.Drawing.Size(144, 17);
+      this.CheckboxColumnNames.TabIndex = 24;
+      this.CheckboxColumnNames.Text = "Column names in first line";
+      this.CheckboxColumnNames.UseVisualStyleBackColor = true;
+      this.CheckboxColumnNames.CheckedChanged += new System.EventHandler(this.CheckboxColumnNames_CheckedChanged);
       // 
       // DateTimeFormatInfoLabel
@@ -315,7 +366,7 @@
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TrainingTestTrackBar);
       this.ProblemDataSettingsGroupBox.Controls.Add(this.ShuffleDataCheckbox);
-      this.ProblemDataSettingsGroupBox.Location = new System.Drawing.Point(12, 164);
+      this.ProblemDataSettingsGroupBox.Location = new System.Drawing.Point(12, 191);
       this.ProblemDataSettingsGroupBox.Name = "ProblemDataSettingsGroupBox";
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 252);
+      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 225);
       this.ProblemDataSettingsGroupBox.TabIndex = 17;
       this.ProblemDataSettingsGroupBox.TabStop = false;
@@ -365,17 +416,6 @@
       this.PreviewDatasetMatrix.ShowRowsAndColumnsTextBox = false;
       this.PreviewDatasetMatrix.ShowStatisticalInformation = false;
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 138);
+      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 111);
       this.PreviewDatasetMatrix.TabIndex = 0;
-      // 
-      // CheckboxColumnNames
-      // 
-      this.CheckboxColumnNames.AutoSize = true;
-      this.CheckboxColumnNames.Location = new System.Drawing.Point(9, 103);
-      this.CheckboxColumnNames.Name = "CheckboxColumnNames";
-      this.CheckboxColumnNames.Size = new System.Drawing.Size(144, 17);
-      this.CheckboxColumnNames.TabIndex = 24;
-      this.CheckboxColumnNames.Text = "Column names in first line";
-      this.CheckboxColumnNames.UseVisualStyleBackColor = true;
-      this.CheckboxColumnNames.CheckedChanged += new System.EventHandler(this.CheckboxColumnNames_CheckedChanged);
       // 
       // DataAnalysisImportTypeDialog
@@ -437,4 +477,7 @@
     protected System.Windows.Forms.ToolTip ToolTip;
     private System.Windows.Forms.CheckBox CheckboxColumnNames;
+    protected System.Windows.Forms.Label EncodingInfoLabel;
+    protected System.Windows.Forms.Label EncodingLabel;
+    protected System.Windows.Forms.ComboBox EncodingComboBox;
   }
 }
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/DataAnalysisImportTypeDialog.cs	(revision 13974)
@@ -25,4 +25,5 @@
 using System.IO;
 using System.Linq;
+using System.Text;
 using System.Windows.Forms;
 using HeuristicLab.Core.Views;
@@ -32,22 +33,33 @@
   public partial class DataAnalysisImportTypeDialog : Form {
 
-    public static readonly List<KeyValuePair<DateTimeFormatInfo, string>> dateTimeFormats = new List<KeyValuePair<DateTimeFormatInfo, string>>{
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.GetInstance(new CultureInfo("de-DE")), "dd/mm/yyyy hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/dd/yyyy hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "yyyy/mm/dd hh:MM:ss" ),
-      new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/yyyy/dd hh:MM:ss" )
+    private static readonly List<KeyValuePair<DateTimeFormatInfo, string>> dateTimeFormats =
+      new List<KeyValuePair<DateTimeFormatInfo, string>>{
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.GetInstance(new CultureInfo("de-DE")), "dd/mm/yyyy hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/dd/yyyy hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "yyyy/mm/dd hh:MM:ss" ),
+        new KeyValuePair<DateTimeFormatInfo, string>(DateTimeFormatInfo.InvariantInfo, "mm/yyyy/dd hh:MM:ss" )
     };
 
-    public static readonly List<KeyValuePair<char, string>> POSSIBLE_SEPARATORS = new List<KeyValuePair<char, string>>{  
-      new KeyValuePair<char, string>(';', "; (Semicolon)" ),
-      new KeyValuePair<char, string>(',', ", (Comma)" ),    
-      new KeyValuePair<char, string>('\t', "\\t (Tab)"),
-      new KeyValuePair<char, string>((char)0, "all whitespaces (including tabs and spaces)")
+    private static readonly List<KeyValuePair<char, string>> POSSIBLE_SEPARATORS =
+      new List<KeyValuePair<char, string>>{  
+        new KeyValuePair<char, string>(';', "; (Semicolon)" ),
+        new KeyValuePair<char, string>(',', ", (Comma)" ),    
+        new KeyValuePair<char, string>('\t', "\\t (Tab)"),
+        new KeyValuePair<char, string>((char)0, "all whitespaces (including tabs and spaces)")
     };
 
-    public static readonly List<KeyValuePair<NumberFormatInfo, string>> POSSIBLE_DECIMAL_SEPARATORS = new List<KeyValuePair<NumberFormatInfo, string>>{
-      new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.GetInstance(new CultureInfo("de-DE")), ", (Comma)"),
-      new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.InvariantInfo, ". (Period)" )    
+    private static readonly List<KeyValuePair<NumberFormatInfo, string>> POSSIBLE_DECIMAL_SEPARATORS =
+      new List<KeyValuePair<NumberFormatInfo, string>>{
+        new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.GetInstance(new CultureInfo("de-DE")), ", (Comma)"),
+        new KeyValuePair<NumberFormatInfo, string>(NumberFormatInfo.InvariantInfo, ". (Period)" )    
     };
+
+    private static readonly List<KeyValuePair<Encoding, string>> POSSIBLE_ENCODINGS =
+      new List<KeyValuePair<Encoding, string>> {
+        new KeyValuePair<Encoding, string>(Encoding.Default, "Default"),
+        new KeyValuePair<Encoding, string>(Encoding.ASCII, "ASCII"),
+        new KeyValuePair<Encoding, string>(Encoding.Unicode, "Unicode"),    
+        new KeyValuePair<Encoding, string>(Encoding.UTF8, "UTF8")        
+      };
 
     public string Path {
@@ -87,4 +99,8 @@
       DateTimeFormatComboBox.ValueMember = "Key";
       DateTimeFormatComboBox.DisplayMember = "Value";
+      EncodingComboBox.DataSource = POSSIBLE_ENCODINGS;
+      EncodingComboBox.ValueMember = "Key";
+      EncodingComboBox.DisplayMember = "Value";
+
     }
 
@@ -100,4 +116,5 @@
       DecimalSeparatorComboBox.Enabled = true;
       DateTimeFormatComboBox.Enabled = true;
+      EncodingComboBox.Enabled = true;
       ProblemTextBox.Text = openFileDialog.FileName;
       TableFileParser csvParser = new TableFileParser();
@@ -125,9 +142,10 @@
       try {
         TableFileParser csvParser = new TableFileParser();
+        csvParser.Encoding = (Encoding)EncodingComboBox.SelectedValue;
         csvParser.Parse(ProblemTextBox.Text,
                         (NumberFormatInfo)DecimalSeparatorComboBox.SelectedValue,
                         (DateTimeFormatInfo)DateTimeFormatComboBox.SelectedValue,
                         (char)SeparatorComboBox.SelectedValue,
-                        CheckboxColumnNames.Checked);
+                        CheckboxColumnNames.Checked, lineLimit: 500);
         IEnumerable<string> variableNamesWithType = GetVariableNamesWithType(csvParser);
         PreviewDatasetMatrix.Content = new Dataset(variableNamesWithType, csvParser.Values);
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/Plugin.cs.frame	(revision 13974)
@@ -25,4 +25,5 @@
   [Plugin("HeuristicLab.Problems.Instances.DataAnalysis.Views", "3.3.13.$WCREV$")]
   [PluginFile("HeuristicLab.Problems.Instances.DataAnalysis.Views-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
   [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
   [PluginDependency("HeuristicLab.Core.Views", "3.3")]
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.Designer.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.Designer.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionImportTypeDialog.Designer.cs	(revision 13974)
@@ -66,5 +66,4 @@
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 251);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.PreviewLabel, 0);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffelInfoLabel, 0);
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/RegressionInstanceProviderView.cs	(revision 13974)
@@ -22,4 +22,5 @@
 using System;
 using System.IO;
+using System.Threading.Tasks;
 using System.Windows.Forms;
 using HeuristicLab.MainForm;
@@ -44,16 +45,30 @@
       if (importTypeDialog.ShowDialog() == DialogResult.OK) {
         IRegressionProblemData instance = null;
-        try {
-          instance = Content.ImportData(importTypeDialog.Path, importTypeDialog.ImportType, importTypeDialog.CSVFormat);
-        } catch (IOException ex) {
-          ErrorWhileParsing(ex);
-          return;
-        }
-        try {
-          GenericConsumer.Load(instance);
-          instancesComboBox.SelectedIndex = -1;
-        } catch (IOException ex) {
-          ErrorWhileLoading(ex, importTypeDialog.Path);
-        }
+
+        Task.Factory.StartNew(() => {
+          var mainForm = (MainForm.WindowsForms.MainForm)MainFormManager.MainForm;
+          // lock active view and show progress bar
+          IContentView activeView = (IContentView)MainFormManager.MainForm.ActiveView;
+
+          try {
+            var progress = mainForm.AddOperationProgressToContent(activeView.Content, "Loading problem instance.");
+
+            Content.ProgressChanged += (o, args) => { progress.ProgressValue = args.ProgressPercentage / 100.0; };
+
+            instance = Content.ImportData(importTypeDialog.Path, importTypeDialog.ImportType, importTypeDialog.CSVFormat);
+          } catch (IOException ex) {
+            ErrorWhileParsing(ex);
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+            return;
+          }
+          try {
+            GenericConsumer.Load(instance);
+          } catch (IOException ex) {
+            ErrorWhileLoading(ex, importTypeDialog.Path);
+          } finally {
+            Invoke((Action)(() => instancesComboBox.SelectedIndex = -1));
+            mainForm.RemoveOperationProgressFromContent(activeView.Content);
+          }
+        });
       }
     }
Index: stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.Designer.cs
===================================================================
--- stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.Designer.cs	(revision 13456)
+++ stable/HeuristicLab.Problems.Instances.DataAnalysis.Views/3.3/TimeSeriesPrognosisImportTypeDialog.Designer.cs	(revision 13974)
@@ -58,12 +58,5 @@
       this.ShuffleDataCheckbox.Enabled = false;
       this.ShuffleDataCheckbox.Visible = false;
-      // 
-      // OkButton
-      // 
-      this.OkButton.Location = new System.Drawing.Point(303, 407);
-      // 
-      // CancelationButton
-      // 
-      this.CancelationButton.Location = new System.Drawing.Point(384, 407);
+
       // 
       // ProblemDataSettingsGroupBox
@@ -72,5 +65,4 @@
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableComboBox);
       this.ProblemDataSettingsGroupBox.Controls.Add(this.TargetVariableLabel);
-      this.ProblemDataSettingsGroupBox.Size = new System.Drawing.Size(447, 237);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.ShuffleDataCheckbox, 0);
       this.ProblemDataSettingsGroupBox.Controls.SetChildIndex(this.TargetVariableLabel, 0);
@@ -89,8 +81,4 @@
       this.ErrorTextBox.Location = new System.Drawing.Point(6, 19);
       this.ErrorTextBox.Size = new System.Drawing.Size(435, 69);
-      // 
-      // PreviewDatasetMatrix
-      // 
-      this.PreviewDatasetMatrix.Size = new System.Drawing.Size(435, 123);
       // 
       // SeparatorInfoLabel
@@ -114,5 +102,5 @@
       // TargetVariableComboBox
       // 
-      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 
+      this.TargetVariableComboBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
       this.TargetVariableComboBox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
@@ -148,5 +136,5 @@
       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.ClientSize = new System.Drawing.Size(471, 442);
+      this.ClientSize = new System.Drawing.Size(471, 457);
       this.Name = "TimeSeriesPrognosisImportTypeDialog";
       this.Text = "TimeSeries Prognosis CSV Import";
