mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-03 14:25:37 +02:00
[267247] Wrong encoding
This commit is contained in:
parent
6a1b685f8a
commit
a5357c0c00
5 changed files with 26 additions and 39 deletions
|
@ -35,6 +35,7 @@
|
|||
* David McKnight (IBM) - [235221] Files truncated on exit of Eclipse
|
||||
* David McKnight (IBM) - [247189] SystemEditableRemoteFile.openEditor() not updating the default editor properly
|
||||
* David McKnight (IBM) - [249544] Save conflict dialog appears when saving files in the editor
|
||||
* David McKnight (IBM) - [267247] Wrong encoding
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.files.ui.resources;
|
||||
|
@ -80,6 +81,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessage;
|
|||
import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
||||
import org.eclipse.rse.services.files.RemoteFileIOException;
|
||||
import org.eclipse.rse.subsystems.files.core.SystemIFileProperties;
|
||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IVirtualRemoteFile;
|
||||
|
@ -731,10 +733,12 @@ public class SystemEditableRemoteFile implements ISystemEditableRemoteObject, IP
|
|||
}
|
||||
}
|
||||
|
||||
subsystem.upload(localPath, remoteFile, SystemEncodingUtil.ENCODING_UTF_8, null);
|
||||
IFile file = getLocalResource();
|
||||
String srcEncoding = RemoteFileUtility.getSourceEncoding(file);
|
||||
|
||||
subsystem.upload(localPath, remoteFile, srcEncoding, null);
|
||||
|
||||
// update timestamp
|
||||
IFile file = getLocalResource();
|
||||
SystemIFileProperties properties = new SystemIFileProperties(file);
|
||||
|
||||
//DKM- saveAS fix
|
||||
|
|
|
@ -1582,20 +1582,7 @@ public class UniversalFileTransferUtility {
|
|||
{
|
||||
try
|
||||
{
|
||||
String srcCharSet = null;
|
||||
try
|
||||
{
|
||||
srcCharSet = ((IFile)srcFileOrFolder).getCharset(false);
|
||||
if (srcCharSet == null || srcCharSet.length() == 0)
|
||||
{
|
||||
srcCharSet = srcFileOrFolder.getWorkspace().getRoot().getDefaultCharset();
|
||||
}
|
||||
}
|
||||
catch (CoreException e)
|
||||
{
|
||||
srcCharSet = SystemEncodingUtil.ENCODING_UTF_8;
|
||||
}
|
||||
|
||||
String srcCharSet = RemoteFileUtility.getSourceEncoding((IFile)srcFileOrFolder);
|
||||
|
||||
String srcFileLocation = srcFileOrFolder.getLocation().toOSString();
|
||||
|
||||
|
@ -1806,18 +1793,7 @@ public class UniversalFileTransferUtility {
|
|||
boolean isText = RemoteFileUtility.getSystemFileTransferModeRegistry().isText(newPath);
|
||||
if (isText)
|
||||
{
|
||||
try
|
||||
{
|
||||
srcCharSet = ((IFile)srcFileOrFolder).getCharset(false);
|
||||
if (srcCharSet == null || srcCharSet.length() == 0)
|
||||
{
|
||||
srcCharSet = srcFileOrFolder.getWorkspace().getRoot().getDefaultCharset();
|
||||
}
|
||||
}
|
||||
catch (CoreException e)
|
||||
{
|
||||
srcCharSet = SystemEncodingUtil.ENCODING_UTF_8;
|
||||
}
|
||||
srcCharSet = RemoteFileUtility.getSourceEncoding((IFile)srcFileOrFolder);
|
||||
}
|
||||
IPath location = srcFileOrFolder.getLocation();
|
||||
IRemoteFile copiedFile = null;
|
||||
|
|
|
@ -313,7 +313,7 @@ implements IValidatorRemoteSelection
|
|||
path = path.append(absolutePath);
|
||||
|
||||
String tempFile = path.toString();
|
||||
|
||||
|
||||
srcFS.download(srcFileOrFolder, tempFile, SystemEncodingUtil.ENCODING_UTF_8, null);
|
||||
targetFS.upload(tempFile, SystemEncodingUtil.ENCODING_UTF_8, newPath, System.getProperty("file.encoding"), null); //$NON-NLS-1$
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
* Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
|
||||
*
|
||||
* Contributors:
|
||||
* {Name} (company) - description of contribution.
|
||||
* David McKnight (IBM) - [267247] Wrong encoding
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.files.ui.actions;
|
||||
|
@ -35,6 +35,7 @@ import org.eclipse.compare.internal.CompareUIPlugin;
|
|||
import org.eclipse.compare.internal.Utilities;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IFileState;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.jface.dialogs.MessageDialog;
|
||||
|
@ -43,7 +44,6 @@ import org.eclipse.jface.text.BadLocationException;
|
|||
import org.eclipse.jface.text.IDocument;
|
||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||
import org.eclipse.rse.files.ui.resources.SystemEditableRemoteFile;
|
||||
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.RemoteFile;
|
||||
import org.eclipse.rse.ui.actions.SystemBaseAction;
|
||||
|
@ -304,7 +304,8 @@ public class SystemEditionAction extends SystemBaseAction
|
|||
try
|
||||
{
|
||||
InputStream is = sa.getContents();
|
||||
String text = Utilities.readString(is, SystemEncodingUtil.ENCODING_UTF_8);
|
||||
String encoding = ResourcesPlugin.getEncoding();
|
||||
String text = Utilities.readString(is, encoding);
|
||||
document.replace(0, document.getLength(), text);
|
||||
}
|
||||
catch (CoreException e)
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
* David McKnight (IBM) - [235221] Files truncated on exit of Eclipse
|
||||
* David McKnight (IBM) - [249544] Save conflict dialog appears when saving files in the editor
|
||||
* Kevin Doyle (IBM) - [242389] [usability] RSE Save Conflict dialog should indicate which file is in conflict
|
||||
* David McKnight (IBM) - [267247] Wrong encoding
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.rse.internal.files.ui.actions;
|
||||
|
@ -48,7 +49,6 @@ import org.eclipse.rse.internal.files.ui.Activator;
|
|||
import org.eclipse.rse.internal.files.ui.FileResources;
|
||||
import org.eclipse.rse.internal.files.ui.ISystemFileConstants;
|
||||
import org.eclipse.rse.internal.ui.SystemResources;
|
||||
import org.eclipse.rse.services.clientserver.SystemEncodingUtil;
|
||||
import org.eclipse.rse.services.clientserver.messages.CommonMessages;
|
||||
import org.eclipse.rse.services.clientserver.messages.ICommonMessageIds;
|
||||
import org.eclipse.rse.services.clientserver.messages.SimpleSystemMessage;
|
||||
|
@ -57,6 +57,7 @@ import org.eclipse.rse.services.clientserver.messages.SystemMessageException;
|
|||
import org.eclipse.rse.services.files.RemoteFileIOException;
|
||||
import org.eclipse.rse.services.files.RemoteFileSecurityException;
|
||||
import org.eclipse.rse.subsystems.files.core.SystemIFileProperties;
|
||||
import org.eclipse.rse.subsystems.files.core.model.RemoteFileUtility;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFile;
|
||||
import org.eclipse.rse.subsystems.files.core.subsystems.IRemoteFileSubSystem;
|
||||
import org.eclipse.rse.ui.RSEUIPlugin;
|
||||
|
@ -124,8 +125,9 @@ public class SystemUploadConflictAction extends SystemBaseAction implements Runn
|
|||
|
||||
try
|
||||
{
|
||||
String srcEncoding = RemoteFileUtility.getSourceEncoding(_tempFile);
|
||||
// copy temp file to remote system
|
||||
fs.upload(_tempFile.getLocation().makeAbsolute().toOSString(), _saveasFile, SystemEncodingUtil.ENCODING_UTF_8, monitor);
|
||||
fs.upload(_tempFile.getLocation().makeAbsolute().toOSString(), _saveasFile, srcEncoding, monitor);
|
||||
|
||||
// set original time stamp to 0 so that file will be overwritten next download
|
||||
SystemIFileProperties properties = new SystemIFileProperties(_tempFile);
|
||||
|
@ -157,12 +159,14 @@ public class SystemUploadConflictAction extends SystemBaseAction implements Runn
|
|||
try
|
||||
{
|
||||
IRemoteFileSubSystem fs = _remoteFile.getParentRemoteFileSubSystem();
|
||||
SystemIFileProperties properties = new SystemIFileProperties(_tempFile);
|
||||
SystemIFileProperties properties = new SystemIFileProperties(_tempFile);
|
||||
|
||||
// download remote version
|
||||
fs.download(_remoteFile, _tempFile.getLocation().makeAbsolute().toOSString(), SystemEncodingUtil.ENCODING_UTF_8, monitor);
|
||||
// download remote version
|
||||
String srcEncoding = RemoteFileUtility.getSourceEncoding(_tempFile);
|
||||
|
||||
properties.setRemoteFileTimeStamp(_remoteFile.getLastModified());
|
||||
fs.download(_remoteFile, _tempFile.getLocation().makeAbsolute().toOSString(), srcEncoding, monitor);
|
||||
|
||||
properties.setRemoteFileTimeStamp(_remoteFile.getLastModified());
|
||||
//properties.setRemoteFileTimeStamp(-1);
|
||||
|
||||
properties.setDirty(false);
|
||||
|
@ -204,7 +208,9 @@ public class SystemUploadConflictAction extends SystemBaseAction implements Runn
|
|||
// making sure we have the same version as is in the cache
|
||||
_remoteFile = fs.getRemoteFileObject(_remoteFile.getAbsolutePath(), monitor);
|
||||
|
||||
fs.upload(_tempFile.getLocation().makeAbsolute().toOSString(), _remoteFile, SystemEncodingUtil.ENCODING_UTF_8, monitor);
|
||||
String srcEncoding = RemoteFileUtility.getSourceEncoding(_tempFile);
|
||||
|
||||
fs.upload(_tempFile.getLocation().makeAbsolute().toOSString(), _remoteFile, srcEncoding, monitor);
|
||||
|
||||
// wait for timestamp to update before re-fetching remote file
|
||||
_remoteFile.markStale(true);
|
||||
|
|
Loading…
Add table
Reference in a new issue