This is an automated email from the ASF dual-hosted git repository.

neilcsmith pushed a commit to branch delivery
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/delivery by this push:
     new 4a8a8d483d Terminal input ignores detected encoding
     new 61a38aa3cf Merge pull request #6271 from 
matthiasblaesing/inputencoding_terminal
4a8a8d483d is described below

commit 4a8a8d483da73b00f6c635bd555e20b060f5f35f
Author: Matthias Bläsing <mblaes...@doppel-helix.eu>
AuthorDate: Sat Jul 29 14:20:21 2023 +0200

    Terminal input ignores detected encoding
    
    It was observed that on a german windows installation with JDK 17 the
    terminal correctly shows german umlauts, but fails on input.
    
    The terminal subsystem has code to detect the charset used in the
    terminal.
    
    Investigation then leads to StreamTerm, where the InputStream for data
    coming from the terminal is adapted with the detected charset, while
    the user input is ran through an OutputStreamWriter without charset
    set. Therefore the user input is encoded with Cp1250 (default on
    german windows setups). This leads to garbled input.
    
    The fix applies the same logik, that is already applied to the
    InputStream, also to the OutputStream.
---
 .../src/org/netbeans/lib/terminalemulator/StreamTerm.java      | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/StreamTerm.java
 
b/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/StreamTerm.java
index 0600ee61c8..1bcb3ac3c5 100644
--- 
a/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/StreamTerm.java
+++ 
b/ide/lib.terminalemulator/src/org/netbeans/lib/terminalemulator/StreamTerm.java
@@ -274,7 +274,15 @@ public class StreamTerm extends Term {
         updateTtySize();
 
         if (pin != null) {
-            outputStreamWriter = new OutputStreamWriter(pin);
+            if(charSet == null) {
+                outputStreamWriter = new OutputStreamWriter(pin);
+            } else {
+                try {
+                    outputStreamWriter = new OutputStreamWriter(pin, charSet);
+                } catch (UnsupportedEncodingException ex) {
+                    outputStreamWriter = new OutputStreamWriter(pin);
+                }
+            }
            stdinMonitor = new InputMonitor(outputStreamWriter);
            addInputListener(stdinMonitor);
         }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to