Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Filename and command line encoding issue on Windows #13869

Closed
11 of 12 tasks
ken2812221 opened this issue Aug 3, 2018 · 2 comments
Closed
11 of 12 tasks

Filename and command line encoding issue on Windows #13869

ken2812221 opened this issue Aug 3, 2018 · 2 comments
Labels
Milestone

Comments

@ken2812221
Copy link
Contributor

ken2812221 commented Aug 3, 2018

This issue tracks the TODO list in order to fix the encoding issue on Window.

Currently Bitcoin Core uses the ANSI encoding on Windows so that it would affected by user's language settings, they might not able to open some non-ASCII name files.

You can test all these changes in #13787 (includes leveldb changes)

Open PRs:

Merged PRs:

@ken2812221 ken2812221 changed the title Encoding issue on Windows Filenam encoding issue on Windows Aug 3, 2018
@ken2812221 ken2812221 changed the title Filenam encoding issue on Windows Filename encoding issue on Windows Aug 3, 2018
@fanquake fanquake added this to the 0.18.0 milestone Aug 4, 2018
@ken2812221 ken2812221 changed the title Filename encoding issue on Windows Filename and command line encoding issue on Windows Aug 6, 2018
@ken2812221
Copy link
Contributor Author

@sipsorcery @NicolasDorier Mind take a look at this?

@NicolasDorier
Copy link
Contributor

Amazing work, ye.

laanwj added a commit to bitcoin-core/leveldb-subtree that referenced this issue Jan 26, 2019
f8e797a Use utf-8 to decode filename (Chun Kuan Lee)

Pull request description:

  See bitcoin/bitcoin#13869

  Enable unicode support for leveldb on Windows

  CI result for applying this change is available in bitcoin/bitcoin#13787

Tree-SHA512: 860261f973ec7aec8d3051632be8154d87854df8a604ef10b9171701f132c4ba9855ca97fc6e2d529ba322a8100e1e160d5d0f2afe558158bde89979815b5246
random-zebra added a commit to PIVX-Project/PIVX that referenced this issue Feb 6, 2021
e2fee5c [GUI] Use wchar_t API explicitly on Windows (Fuzzbawls)

Pull request description:

  backport of bitcoin#13734 to use the wchar API for windows startup function. This is the first in a long list of upstream PRs that aim to bring full Unicode support to Windows clients as detailed in bitcoin#13869

  Also included here is the relevant parts of bitcoin#5793, to use per-network auto startup shortcuts.

ACKs for top commit:
  furszy:
    utACK e2fee5c .
  random-zebra:
    utACK e2fee5c and merging...

Tree-SHA512: dc4ea84ee10199bdf293977f00c09caf65cbdd1ee2ae14b1adb34fd75c05b847d5971abd17732a77be88bed9e06092b670b09c5760a686b29d64ba8f02d2e4b2
random-zebra added a commit to PIVX-Project/PIVX that referenced this issue Aug 5, 2021
63e0be6 [Remove] By-pass logprint-scanner restriction. (furszy)
280ced3 utils: Fix broken Windows filelock (Chun Kuan Lee)
be89860 utils: Convert Windows args to utf-8 string (Chun Kuan Lee)
e8cfa6e Call unicode API on Windows (Chun Kuan Lee)
1a02a8a tests: Add test case for std::ios_base::ate (Chun Kuan Lee)
2e57cd4 Move boost/std fstream to fsbridge (furszy)
9d8bcd4 utils: Add fsbridge fstream function wrapper (Chun Kuan Lee)
d59d48d utils: Convert fs error messages from multibyte to utf-8 (ken2812221)
9ef58cc Logging: use "fmterr" variable name for errors instead of general "e" that can be used by any other function. (furszy)
dd94241 utils: Use _wfopen and _wreopen on Windows (Chun Kuan Lee)
3993641 add unicode compatible file_lock for Windows (Chun Kuan Lee)
48349f8 Provide relevant error message if datadir is not writable. (murrayn)

Pull request description:

  As the software is currently using the ANSI encoding on Windows, the user's language settings could affect the proper functioning of the node/wallet, to the point of not be able to open some non-ASCII name files and directories.

  This solves the Windows encoding issues, completing the entire bitcoin#13869 work path (and some other required backports). Enabling for example users that use non-english characters in directories and file names to be accepted.

  Backported PRs:
  * bitcoin#12422.
  * bitcoin#12630.
  * bitcoin#13862.
  * bitcoin#13866.
  * bitcoin#13877.
  * bitcoin#13878.
  * bitcoin#13883.
  * bitcoin#13884.
  * bitcoin#13886.
  * bitcoin#13888.
  * bitcoin#14192.
  * bitcoin#13734.
  * bitcoin#14426.

  This is built on top of other two PRs that i have open #2423 and #2369.
  Solves old issues #940 and #2163.

  TODO:
  * Backport `assert_start_raises_init_error` and `ErrorMatch` in TestNode` (bitcoin#12718)

ACKs for top commit:
  Fuzzbawls:
    ACK 63e0be6
  random-zebra:
    ACK 63e0be6 and merging...

Tree-SHA512: cb1f7c23abb5b7b3af50bba18652cc2cad93fd7c2fca9c16ffd3fee34c4c152a3b666dfa87fe6b44c430064dcdee4367144dcb4a41203c91b0173b805bdb3d7d
@bitcoin bitcoin locked as resolved and limited conversation to collaborators Dec 16, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants