ユーザーフォルダ名が日本語のWindows 10での使用

279 views
Skip to first unread message

Atsushi Yamagata

unread,
Aug 25, 2019, 11:18:28 PM8/25/19
to Mew ユーザ
山縣と申します。

ユーザーフォルダ名が日本語(C:/Users/山縣敦)のWindows 10で受信しようとすると
Creating an SSL/TLS connection...
で止ってしまいます。

ユーザーフォルダ名は日本語のままで、回避策はございますでしょうか。

*Mew debug*

<SSL/TLS: >
[ ] Running on Windows 6.2
[ ] No limit detected for the number of clients
[.] stunnel 5.55 on x64-pc-mingw32-gnu platform
[.] Compiled/running with OpenSSL 1.1.1c  28 May 2019
[.] Threading:WIN32 Sockets:SELECT,IPv6 TLS:ENGINE,OCSP,PSK,SNI
[ ] errno: (*_errno())
[ ] Running on Windows 6.2
[.] Reading configuration from file c:/Users/Rp/AppData/Local/Temp/RpWuhSIZ/mewtRyBMG
[!] Cannot open configuration file
[.] 
[.] Syntax:
[.] stunnel [ [-install | -uninstall | -start | -stop | -reload | -reopen | -exit] [-quiet] [<filename>] ] | -help | -version | -sockets | -options
[.]     <filename>  - use specified config file
[.]     -install    - install NT service
[.]     -uninstall  - uninstall NT service
[.]     -start      - start NT service
[.]     -stop       - stop NT service
[.]     -reload     - reload configuration for NT service
[.]     -reopen     - reopen log file for NT service
[.]     -exit       - exit an already started stunnel
[.]     -quiet      - don't display message boxes
[.]     -help       - get config file help
[.]     -version    - display version and defaults
[.]     -sockets    - display default socket options
[.]     -options    - display supported TLS options
[ ] Deallocating section defaults

Shuichi KITAGUCHI

unread,
Aug 26, 2019, 7:37:29 AM8/26/19
to mew...@googlegroups.com
北口です。

> ユーザーフォルダ名が日本語(C:/Users/山縣敦)のWindows 10で受信しようとすると
...
> [.] Reading configuration from file
> c:/Users/Rp/AppData/Local/Temp/RpWuhSIZ/mewtRyBMG
> [!] Cannot open configuration file

これはココ

> c:/Users/Rp/AppData/Local/Temp/RpWuhSIZ/mewtRyBMG
^^ ^^

でstunnelにうまく文字列が渡っていないのが原因ですので、
とりあえず回避するためには

・環境変数TEMPを適当な場所に変更
・.emacsでuser-login-nameを適当な名前に変更

でどうでしょうか?

ただ、どちらも全体への設定変更で影響が大きいので、ご注意ください。


--
Shuichi KITAGUCHI // k...@ysnb.net / k...@hh.iij4u.or.jp

Atsushi Yamagata

unread,
Aug 26, 2019, 9:09:10 PM8/26/19
to Mew ユーザ
北口さん。
山縣です。

以下を
・環境変数TEMP
・user-login-name
設定したところ、POP passwordまで進みました。しかしながら、

error in process filter: mew-dir-messages: Opening directory: No such file or directory, c:/Users/\261R\343\p\223\326/Mail/inbox

と表示されて、受信はできませんでした。

2019年8月26日月曜日 20時37分29秒 UTC+9 Shuichi KITAGUCHI:

Shuichi KITAGUCHI

unread,
Aug 27, 2019, 6:21:07 AM8/27/19
to mew...@googlegroups.com
山縣さん、

北口です。

> ・環境変数TEMP
> ・user-login-name
> 設定したところ、POP passwordまで進みました。しかしながら、
>
> error in process filter: mew-dir-messages: Opening directory: No such file
> or directory, c:/Users/\261R\343\p\223\326/Mail/inbox
>
> と表示されて、受信はできませんでした。

もしかして、環境変数HOMEが漢字入りのままだったりしませんか?

Atsushi Yamagata

unread,
Aug 27, 2019, 9:15:57 AM8/27/19
to Mew ユーザ
北口さん。
山縣です。

> ・環境変数TEMP
> ・user-login-name
> 設定したところ、POP passwordまで進みました。しかしながら、
>
> error in process filter: mew-dir-messages: Opening directory: No such file
> or directory, c:/Users/\261R\343\p\223\326/Mail/inbox
>
> と表示されて、受信はできませんでした。

もしかして、環境変数HOMEが漢字入りのままだったりしませんか?

 
はい。 
HOME: C:/Users/山縣敦
Mail: C:/Users/山縣敦/Mail (Mailはバックアップからコピーしたフォルダ)
となっています。Mail以下のメッセージを読むことはできます。やはり、これでは無理でしょうか?

mew-temp-dirやmew-temp-file-initialを設定しても回避できなかったので、質問させていただきました。

Shuichi KITAGUCHI

unread,
Aug 28, 2019, 7:35:08 AM8/28/19
to mew...@googlegroups.com
山縣さん、

北口です。

以下のようにいくつか実験してみましたが、よくわかっていません。

(setq edir "C:/home/北口/Mail/inbox")

とした状態(このディレクトリは存在している)で、

(mew-dir-messages edir)

とすると例外を投げます。そこで、mew-dir-messages()の中身を見て、

(directory-files (mew-cs-encode-string edir default-file-name-coding-system) nil)

とやると、やはり例外を投げます。ここで、default-file-name-coding-systemが
japanese-shift-jis-unixになっているので、これを、

(directory-files (mew-cs-encode-string edir 'utf-8) nil)

とやると、正しく動きます。更には、

(directory-files edir nil)

でも正しく動きます。というところでちょっと見ていると、

w32-unicode-filenames is a variable defined in ‘C source code’.
Its value is t

Documentation:
Non-nil means use Unicode APIs when passing file names to the OS.

というものがあるのを見付けました。default-file-name-coding-systemは
shift-jisだけど、OS側はUnicodeを要求しているような予感がします。

とりあえずは、Windowsの場合はmew-cs-encode-string()しないようにすれば
動くかもしれませんが、それで正しいのかと、それだけで済むのかがよくわかって
いません。

とりあえず今のところはここまでです。


--
Shuichi KITAGUCHI // k...@ysnb.net / k...@hh.iij4u.or.jp

> --
> このメールは Google グループのグループ「Mew ユーザ」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには mew-ja+un...@googlegroups.com にメールを送信してください。
> このディスカッションをウェブ上で閲覧するには、https://groups.google.com/d/msgid/mew-ja/55fc96ee-46fe-4546-a99b-223017eb5a72%40googlegroups.com にアクセスしてください。

Atsushi Yamagata

unread,
Aug 28, 2019, 10:41:58 AM8/28/19
to Mew ユーザ
北口さん。
山縣です。

いろいろ実験してくださいましてありがとうございます。

日本語フォルダ名のままでの回避が目標でした。しかしながら、現在は以下の方法で一時的に回避しています。
フォルダ: C:/Users/yamagata/AppData/Local/Temp を作成
環境変数 HOME: C:/Users/yamagata
環境変数 TEMP: C:/Users/yamagata/AppData/Local/Temp
Mailフォルダ: C:/Users/yamagata/Mail (C:/Users/山縣敦/Mail から移動)
これで、送受信できるようになりました。

Atsushi Yamagata

unread,
Aug 29, 2019, 1:35:41 AM8/29/19
to Mew ユーザ
山縣です。


日本語フォルダ名のままでの回避が目標でした。しかしながら、現在は以下の方法で一時的に回避しています。
フォルダ: C:/Users/yamagata/AppData/Local/Temp を作成
環境変数 HOME: C:/Users/yamagata
環境変数 TEMP: C:/Users/yamagata/AppData/Local/Temp
Mailフォルダ: C:/Users/yamagata/Mail (C:/Users/山縣敦/Mail から移動)
これで、送受信できるようになりました。

以下の設定
 (setq user-login-name "yamagata")
が必要でした。さもないと、返信時に
メッセージ From: \216R\343p\223\3...@example.com
ミニバッファ Select conding system(default raw-text):
となってしいます。

KIRIHARA Masaharu

unread,
Aug 29, 2019, 5:53:44 AM8/29/19
to mew...@googlegroups.com

桐原と申します.
解決策とかではないのですが….


((Win7 32bit の) msys2 の) LANG=ja_JP.UTF-8 な環境で
echo 山縣敦 | iconv -f utf-8 -t shift_jis | hexdump
をすると
0000000 528e 70e3 d693 000a
0000007
という結果が表示され,ASCIIコード表 より
char(0x52)='R'
char(0x70)='p'
ということから
>>>> c:/Users/Rp/AppData/Local/Temp/RpWuhSIZ/mewtRyBMG
>>> ^^ ^^
0x80未満 (= MSB(つまり8bit目)が 0 ) の文字はちゃんと渡っていると思われます.


>> (略)
>> というものがあるのを見付けました。default-file-name-coding-systemは
>> shift-jisだけど、OS側はUnicodeを要求しているような予感がします。

何かこの辺が私も怪しいと思われます.
# emacs のソースを追うのは,諦めました….


## > Mailフォルダ: C:/Users/yamagata/Mail (C:/Users/山縣敦/Mail から移動)
##
## 「移動」しなくても,mklink コマンドで,シンボリックリンクとか
## ジャンクションが作れると思います.


### ちなみに stunnel.org では win32 が配布されなくなったので
### https://github.com/josealf/stunnel-win32
### のを使っています….
### Win7 のサポートが近々切れるので Win10 64bit の購入をそろそろ考えないと….

---
KIRIHARA, Masaharu

Kazu Yamamoto

unread,
Aug 29, 2019, 8:53:23 PM8/29/19
to mew...@googlegroups.com
>>> というものがあるのを見付けました。default-file-name-coding-systemは
>>> shift-jisだけど、OS側はUnicodeを要求しているような予感がします。
>
> 何かこの辺が私も怪しいと思われます.

stunnel を呼ぶときに file-name-coding-system を UTF-8 にすれば解決しま
すか? Windows だと UTF-16 ですかね?

--
山本和彦

Shuichi KITAGUCHI

unread,
Aug 31, 2019, 4:01:20 AM8/31/19
to mew...@googlegroups.com
かずさん、

北口です。
そっちはそっちで対応が必要なんですが、今この話はEmacsのdirectory-files()の
挙動の話なんです。

なのでEmacsの方を見ないといけないのですが、今はちょっと手を出す気合いが
足りていません...すいません。

KIRIHARA Masaharu

unread,
Oct 30, 2019, 9:51:04 AM10/30/19
to mew...@googlegroups.com

桐原です.

>>>>> というものがあるのを見付けました。default-file-name-coding-systemは
>>>>> shift-jisだけど、OS側はUnicodeを要求しているような予感がします。

>>> 何かこの辺が私も怪しいと思われます.

>> stunnel を呼ぶときに file-name-coding-system を UTF-8 にすれば解決しま
>> すか? Windows だと UTF-16 ですかね?

> なのでEmacsの方を見ないといけないのですが、今はちょっと手を出す気合いが
> 足りていません...すいません。


ということで,
>>> # emacs のソースを追うのは,諦めました….
ちらっと emacs のソースを眺めてみました.



emacs-26.3/src/fileio.c において


5930 DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system,
(略)
5934 On MS-Windows, the value of this variable is largely ignored if
5935 `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows
5936 behaves as if file names were encoded in `utf-8'. */);

5939 DEFVAR_LISP ("default-file-name-coding-system",
(略)
5949 On MS-Windows, the value of this variable is largely ignored if
5950 `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows
5951 behaves as if file names were encoded in `utf-8'. */);


とあることから,UTF-8 で決め打ちしてもいいかもしれないです.


# 開発版 (だと思われるもの) でも
# https://git.savannah.gnu.org/cgit/emacs.git/tree/src/fileio.c
# https://github.com/emacs-mirror/emacs/blob/master/src/fileio.c
#
# 6225 DEFVAR_LISP ("file-name-coding-system", Vfile_name_coding_system,
# (略)
# 6229 On MS-Windows, the value of this variable is largely ignored if
# 6230 `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows
# 6231 behaves as if file names were encoded in `utf-8'. */);
#
# 6234 DEFVAR_LISP ("default-file-name-coding-system",
# (略)
# 6244 On MS-Windows, the value of this variable is largely ignored if
# 6245 `w32-unicode-filenames' (which see) is non-nil. Emacs on Windows
# 6246 behaves as if file names were encoded in `utf-8'. */);
#
# と (少なくともこれらのコメントは) 変更されていないです.

## ちなみに,エクスプローラで日本語のフォルダーを作成し,
## コマンドプロンプト上で dir し,それを hexdump すると
## shift_jis のコードで表示されました.
## msys2 の bash (LANG=ja_JP.UTF-8) での ls | hexdump は
## (当然) UTF-8 のコードでした.

---
KIRIHARA, Masaharu

Reply all
Reply to author
Forward
0 new messages