|
51 | 51 | import java.util.Date;
|
52 | 52 | import java.util.List;
|
53 | 53 |
|
| 54 | +import org.graalvm.nativeimage.ImageInfo; |
| 55 | + |
54 | 56 | import com.oracle.graal.python.PythonLanguage;
|
55 | 57 | import com.oracle.graal.python.builtins.Builtin;
|
56 | 58 | import com.oracle.graal.python.builtins.CoreFunctions;
|
|
82 | 84 | import com.oracle.graal.python.runtime.PythonOptions;
|
83 | 85 | import com.oracle.graal.python.runtime.exception.PException;
|
84 | 86 | import com.oracle.graal.python.runtime.object.PythonObjectFactory;
|
| 87 | +import com.oracle.graal.python.util.CharsetMapping; |
85 | 88 | import com.oracle.graal.python.util.OverflowException;
|
86 | 89 | import com.oracle.graal.python.util.PythonUtils;
|
87 | 90 | import com.oracle.truffle.api.CompilerDirectives.TruffleBoundary;
|
|
97 | 100 | import com.oracle.truffle.api.library.CachedLibrary;
|
98 | 101 | import com.oracle.truffle.api.profiles.ConditionProfile;
|
99 | 102 |
|
100 |
| -import org.graalvm.nativeimage.ImageInfo; |
101 |
| - |
102 | 103 | @CoreFunctions(defineModule = "sys")
|
103 | 104 | public class SysModuleBuiltins extends PythonBuiltins {
|
104 | 105 | private static final String LICENSE = "Copyright (c) Oracle and/or its affiliates. Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.";
|
@@ -413,7 +414,10 @@ public abstract static class GetFileSystemEncodingNode extends PythonBuiltinNode
|
413 | 414 | @Specialization
|
414 | 415 | @TruffleBoundary
|
415 | 416 | protected String getFileSystemEncoding() {
|
416 |
| - return System.getProperty("file.encoding"); |
| 417 | + String javaEncoding = System.getProperty("file.encoding"); |
| 418 | + String pythonEncoding = CharsetMapping.getPythonEncodingNameFromJavaName(javaEncoding); |
| 419 | + // Fallback on returning the property value if no mapping found |
| 420 | + return pythonEncoding != null ? pythonEncoding : javaEncoding; |
417 | 421 | }
|
418 | 422 | }
|
419 | 423 |
|
|
0 commit comments