aboutsummaryrefslogtreecommitdiffstats
path: root/ui
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2020-06-24 16:02:39 -0700
committerGerald Combs <gerald@wireshark.org>2020-07-06 16:20:25 +0000
commit4dc3114c050ac2fb6da2b19103ce4995f6d91561 (patch)
tree08c7406a69bd8bc383f205cd5789556abcf6bdb4 /ui
parent0d7d7fe3c6295cd40e3c96407f7208ef19b43b61 (diff)
Windows: Set our locale to ".UTF-8".
In each of our executables we were calling "setlocale(LC_ALL, "")" at startup. This told Windows that output was encoded using the current system code page. Unless the code page was 65001 (UTF-8), this was a lie. We write UTF-8 to stdout and stderr, so call "setlocale(LC_ALL, ".UTF-8)" at startup on Windows. This lets the CRT translate our output correctly in more cases. Clarify and expand the OUTPUT section in the tshark man page. Bug: 16649 Change-Id: If93231fe5b332c292946c7f8e5e813e2f543e799 Reviewed-on: https://code.wireshark.org/review/37560 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org>
Diffstat (limited to 'ui')
-rw-r--r--ui/qt/main.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/ui/qt/main.cpp b/ui/qt/main.cpp
index abb3a728e4..a834dcaf51 100644
--- a/ui/qt/main.cpp
+++ b/ui/qt/main.cpp
@@ -419,8 +419,15 @@ int main(int argc, char *qt_argv[])
CocoaBridge::cleanOSGeneratedMenuItems();
#endif
- /* Set the C-language locale to the native environment. */
+ /*
+ * Set the C-language locale to the native environment and set the
+ * code page to UTF-8 on Windows.
+ */
+#ifdef _WIN32
+ setlocale(LC_ALL, ".UTF-8");
+#else
setlocale(LC_ALL, "");
+#endif
#ifdef _WIN32
//