JosJuice
86910f406e
VideoCommon: Fix std::filesystem::path encoding conversion
...
In std::string, you can store strings using any encoding, but in Dolphin
we have decided to use UTF-8. The problem is that if you convert between
std::string and std::filesystem::path using the built-in methods, the
standard library will make up its own assumption of what encoding you're
using in the std::string. On most OSes this is UTF-8, but on Windows
it's whatever the user's code page is.
What I believe is the C++ standard authors' intended solution to this is
to use std::u8string instead of std::string, but that's a big hassle to
move over to, because there's no convenient way to convert between
std::string and std::u8string. Instead, in Dolphin, we have added helper
functions that convert between std::string and std::filesystem::path in
the manner we want. You *always* have to use these when converting
between std::string and std::filesystem::path, otherwise we get these
kinds of encoding problems that we've been having with custom textures.
Fixes https://bugs.dolphin-emu.org/issues/13328 .
2023-08-16 09:56:56 +02:00
..
2023-08-16 09:56:56 +02:00
2023-07-02 13:45:09 -05:00
2023-06-03 14:52:31 -05:00
2023-08-12 20:48:47 -07:00
2023-06-19 01:34:42 +03:00
2023-06-28 17:15:31 -05:00
2023-02-15 19:18:39 -08:00
2021-07-05 04:35:56 +02:00
2021-12-10 14:49:57 -08:00
2021-07-05 04:35:56 +02:00
2023-06-08 15:28:15 +02:00
2023-06-01 16:01:11 -04:00
2023-02-09 18:36:20 +13:00
2022-08-18 13:38:37 -07:00
2022-06-10 17:11:32 +02:00
2022-06-10 17:11:32 +02:00
2023-01-31 19:41:24 +13:00
2023-01-31 19:41:24 +13:00
2023-02-09 18:36:20 +13:00
2022-06-30 15:26:48 -05:00
2021-07-05 04:35:56 +02:00
2022-08-29 11:10:05 -07:00
2023-03-11 12:50:35 +01:00
2021-07-05 04:35:56 +02:00
2023-07-09 12:21:34 -05:00
2023-06-03 12:53:33 +02:00
2023-04-05 20:09:32 +02:00
2023-01-25 02:21:56 -06:00
2023-06-28 17:15:31 -05:00
2023-06-17 07:15:33 -05:00
2022-10-09 19:32:59 -07:00
2023-01-25 02:21:56 -06:00
2023-02-15 19:18:39 -08:00
2023-01-25 02:21:56 -06:00
2021-07-05 04:35:56 +02:00
2022-10-08 04:44:48 -05:00
2022-10-08 04:44:48 -05:00
2023-06-12 17:12:25 -07:00
2023-02-19 16:35:28 +01:00
2023-02-09 18:36:20 +13:00
2023-02-09 18:36:20 +13:00
2023-06-19 01:34:42 +03:00
2023-06-19 01:34:42 +03:00
2023-02-09 18:36:20 +13:00
2023-02-09 18:36:20 +13:00
2023-03-11 12:50:35 +01:00
2023-02-09 18:36:20 +13:00
2022-05-25 13:06:41 -07:00
2021-10-08 18:17:20 -05:00
2023-02-14 18:25:33 +01:00
2022-01-13 11:11:08 -08:00
2022-12-29 15:33:19 +01:00
2022-12-29 15:33:19 +01:00
2023-06-03 14:52:31 -05:00
2023-08-16 09:56:56 +02:00
2023-06-05 16:33:19 -05:00
2023-01-04 10:42:00 -08:00
2022-10-22 20:13:24 -05:00
2023-03-02 19:54:15 -06:00
2021-12-22 15:17:52 -08:00
2021-07-05 04:35:56 +02:00
2023-06-17 08:13:57 -05:00
2023-07-29 00:27:07 -05:00
2021-07-05 04:35:56 +02:00
2021-07-05 04:35:56 +02:00
2021-07-05 04:35:56 +02:00
2022-08-02 22:24:06 -07:00
2021-07-05 04:35:56 +02:00
2023-07-27 11:47:34 -05:00
2023-07-27 11:47:34 -05:00
2023-02-09 18:36:20 +13:00
2023-04-05 20:09:32 +02:00
2022-09-19 01:14:53 +02:00
2023-03-11 12:50:35 +01:00
2023-02-15 19:18:39 -08:00
2023-01-06 20:27:25 +01:00
2023-01-06 20:27:25 +01:00
2021-07-05 04:35:56 +02:00
2023-01-31 19:41:24 +13:00
2023-01-31 19:41:24 +13:00
2022-12-11 21:57:30 +01:00
2023-02-14 18:25:33 +01:00
2023-01-30 14:04:37 -06:00
2023-02-09 18:36:20 +13:00
2022-12-27 20:20:27 +01:00
2023-06-19 01:34:42 +03:00
2023-06-19 01:34:42 +03:00
2023-06-19 01:34:42 +03:00
2023-02-09 18:36:20 +13:00
2023-02-09 18:36:20 +13:00
2023-02-09 18:36:20 +13:00
2023-06-03 14:52:31 -05:00
2023-06-03 14:52:31 -05:00
2022-07-15 12:29:40 -07:00
2023-04-19 09:14:39 -04:00
2023-04-19 09:14:39 -04:00
2023-02-25 16:27:30 -08:00
2023-06-06 22:49:53 -05:00
2022-08-05 22:42:09 +12:00
2022-06-24 18:09:53 -05:00
2023-02-09 18:36:20 +13:00
2023-02-15 19:18:39 -08:00
2023-07-19 23:44:41 -05:00
2023-07-19 23:44:41 -05:00
2021-12-10 14:49:57 -08:00
2023-07-21 19:09:40 -05:00
2023-04-15 03:35:05 -04:00
2022-06-16 02:08:45 -05:00
2022-07-17 08:54:39 -04:00
2022-07-16 00:07:10 -07:00
2023-02-09 16:23:02 -08:00
2021-12-10 14:49:57 -08:00
2021-07-05 04:35:56 +02:00
2022-07-15 12:29:40 -07:00
2022-06-26 00:45:13 -05:00
2023-04-15 03:35:05 -04:00
2022-06-26 00:45:13 -05:00
2021-12-10 14:49:57 -08:00
2021-12-10 14:49:57 -08:00
2023-06-17 07:15:33 -05:00
2021-11-17 20:04:33 -08:00
2023-02-14 18:25:33 +01:00
2022-07-13 21:51:24 -05:00
2023-06-17 07:15:33 -05:00
2022-06-16 02:08:45 -05:00
2022-10-25 15:29:09 -07:00
2022-09-15 12:50:15 +02:00
2023-01-13 15:38:00 -08:00
2022-09-15 12:50:15 +02:00
2023-01-13 15:38:00 -08:00
2022-09-15 12:50:15 +02:00
2022-11-22 17:17:11 -08:00
2022-09-15 12:50:15 +02:00
2022-11-22 17:49:54 -08:00
2022-11-22 17:17:11 -08:00
2023-02-12 20:10:38 -08:00
2022-11-22 17:17:11 -08:00
2023-02-09 16:23:02 -08:00
2022-11-22 17:17:11 -08:00
2023-04-12 03:59:57 -05:00
2022-11-22 17:17:11 -08:00
2022-11-22 17:17:11 -08:00
2023-06-12 13:04:18 -07:00
2022-11-22 17:17:11 -08:00
2023-07-02 13:58:07 -05:00
2023-02-09 18:36:20 +13:00
2022-11-23 13:45:43 -08:00
2022-11-23 13:45:43 -08:00
2023-07-02 13:58:07 -05:00
2023-03-20 20:59:38 +01:00
2023-06-08 22:07:39 -07:00
2023-06-08 22:07:39 -07:00
2023-01-31 19:41:23 +13:00
2023-06-19 01:34:42 +03:00
2023-06-19 01:34:42 +03:00
2023-02-15 19:18:39 -08:00
2023-02-09 18:36:20 +13:00
2021-07-05 04:35:56 +02:00
2023-02-09 18:36:20 +13:00
2023-02-09 18:36:20 +13:00
2021-07-05 04:35:56 +02:00
2023-01-25 02:21:56 -06:00
2022-12-29 15:33:19 +01:00
2021-12-18 15:21:36 -08:00