アプリケーションからCP932に見えたら
CP932にない絵文字が正しく表示できるわけ無いだろ
リアル馬鹿だなw
0953login:Penguin2019/06/15(土) 16:40:37.45ID:qMjBI3rb
XPの時に、ファイル名にSJISにできない文字が含まれるとファイル名が壊れるって現象にぶち当たった覚えあるけど今は大丈夫なのか?
絵文字などCP932では表示不可能なファイル名が正しく表示できるってことは、
表示されるまでのいかなる部分でもCP932が使われてないってことを意味している。
Windowsの基本機能のいかなる部分でもCP932が使われていないという証拠である。
>>953
わからんけどそれはアプリ側の問題じゃないの? うーむ…
ttps://i.imgur.com/KCirJ9N.jpg
MSのパッチの部分があるみたいだけど、どこを移植すればいいのか良く分からん
(5.2は起動しなかったので差分を調査中)
0958login:Penguin2019/06/15(土) 16:52:56.24ID:qMjBI3rb
NTFSじゃなくてFATでもファイル名がUTF-16なのか?
>>958
LinuxでもFAT使えるんだが、Linuxだと何だと思う? >>953
アプリケーション側が9xとの互換用の古いA系のAPIを使っていると、UTF-16がCP932とか(ロケール設定による)に変換されてアプリケーションに渡るから壊れることがある
今普通にVSとかでコンパイルすると、UTF-16用のW系のAPIが使われるから壊れない
また、今はA系APIをUTF-8用にも使えるようになった
>>958
いわゆる8+3の古いFATでは国ごとに違うコードだったからCP932だったが、Win95以降のLFNではUTF-16 0961login:Penguin2019/06/15(土) 17:07:50.72ID:qMjBI3rb
>>960
なるほど、XPの時に起こったのはアプリが95互換機能つかってたからなのか。
今は大丈夫なのね。 >>951
>>952
>>955
自分が間違っていたので、訂正してお詫びする。申し訳ない。
Windows10上でファイル名を絵文字にできることを確認した。
言い訳になるが、Windowsで圧縮したZipファイル内のファイル名は今もCP932なんだだ。
(それをLinuxで展開するときは、CP932を指定しないと、ファイル名のマルチバイト文字が化けてしまう)
おかげで今もWindowsのファイル名はCP932だと思いこんでいた。 そんなことになってるのか
文字コードって複雑怪奇だな
>>965
こんなの序の口だ
文字コード問題の本当の恐ろしさはこんなものではない >>961
アプリ側の問題なんだから今もクソもない 0971login:Penguin2019/06/16(日) 11:32:06.39ID:sFQ8frXi
アプリが決めたファイル名をOSがまともに使えないのが問題なのに、なんでアプリのせいにするんだろう?
頭おかしいな。
アプリが決めたファイル名をOSは正しく扱えるが?
OSが決めたファイル名をアプリが扱えないんだからアプリの問題だって話だろ
Windowsはunicodeを扱うのに独立したワイド文字系のAPIを作っちゃったから
アプリが対応しないといけない
最近はようやくロケールの文字コード自体をUTF-8にする流れになってるようなので
マルチバイト系のAPIのままUnicode対応するのが今後標準になるのかもしれんけど
>>973
根本原因はUnicodeだけどな。
最初にUTF-8というものを作らず16bitにすべてを詰め込もうとした
Windowsはその最初のUnicodeに対応しただけ
16bitのUnicodeはどうやってもAPIを分けないと対応できない ま、OSがUTF-8になったとしても、アプリが対応してないと結局意味ないんだがな
だから最初からアプリの問題
訂正
× OSがUTF-8になったとしても、
○ Unicode対応でないアプリのロケールを(ShiftJISではなく)UTF-8として扱う
Unicode対応でないアプリのロケールとしてUTF-8が選べるようになったとしても、
ShiftJISを前提にしているアプリが、文字コードが異なるUTF-8対応になるわけじゃない
UNICODEの元になったJ-Starのコード体系
を勉強してから言え
質問に質問で答えるなよ。
まずお前が何を言いたいのかに答えてからだ
むしろunicode対応が早かったがゆえに
unicode側の変更に振り回されてる形
一時期はUTF-8は運が良かったとか思ってたけど、
Unicodeは更に混沌を極めて、UTF-8でも1文字が最大8バイトにまでなってしまって
単純なアルゴリズムで1文字の境界を知ることは不可能になってしまったからな。
どちらにしろ、Unicodeを扱うには専用のライブラリを使うことになる
NTFS上に255バイト以上のファイル名のファイルを作って、WSLから参照するとWSLがコケるな、WSL2でも一緒
制限がバイトと文字の差だと思うが…
LinuxはCIFSでマウントしてもこんななんだろうか?
NTFSは255文字で255バイトを超えるバイト数を扱えるが
ext4は255バイト。Linuxは互換性のため255バイト以内にしておいたほうが良い
sambaでファイルサーバーを作ってるが
時々Windowsの長いファイル名をLinuxで扱えなくて困る
>>980
15万出して、同じ物だと気づかなかったのププー >>986
なにか面白いことを言い出したなw
何が同じものだって? 0990login:Penguin2019/06/16(日) 15:22:11.39ID:sFQ8frXi
「OSがファイル名を決める」ようだから、ファイル名生成APIをたたけばいいのかな?
それなら字化けは起こらないもんな。
ユーザーが意図した名前で保存できないけど。
0991login:Penguin2019/06/16(日) 15:22:29.56ID:sFQ8frXi
FTP鯖をWin側に立ててみたらFTPクライアントから見えるファイル名のコードはSJISだった。
Dirコマンドをリダイレクト保存したらSJISで保存されてた。
まだまだファイル名はSJIS依存からは逃げられそうにないな。
>>990
ファイル名生成APIなんてものはないけど、
そのAPIで絵文字が生成された場合、アプリが対応していなければ文字化けが起こる
文字化けが起こるのはアプリの問題だって話をしてるんだがわかってるか? > FTP鯖(というアプリを)Win側に立ててみたらFTPクライアントから見えるファイル名のコードはSJISだった。
完全にアプリの問題です(笑)
> Dirコマンドをリダイレクト保存したらSJISで保存されてた。
それはchcpコマンドで変更するものです。
おお!Windowsはすごい!
chcp 65001して
Dirコマンドをリダイレクト保存したらUTF-8で保存されてた。
完全にファイル名はがUTF-8対応になっているではないか!
ばっ!ばかな! chcpするだけでファイル名がUTF-8に変更するだと!
とか思ってるんだろうなぁw
OSの不具をアプリやユーザーに押し付ける奇形ベンダー
腐乱OSに喜んで犯されるドザー衛門たち
肥溜めにどっぷり浸かっていがみ合ってるのがお似合いだなw
Windowsはずっと前からUnicode対応ですからねーw
10011001Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 87日 14時間 11分 14秒
10021002Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php