アカウント名:
パスワード:
たとえばどんなの?PHPくらいのレイヤーだとそんなになさそうだと思ってしまうんだけど。。。
ドライブレター絡みとか、共有ディスク上のファイルのロックの挙動とかありそうですね。
トラブルとしてはたしかにありがちだけども、PHPほどのレベルと歴史で、そんなのが今さらそうそうあるの?# 内部的に汎用的な対処法が決まってそうだけど。
日本語ファイル名を扱うとおかしな事になることが良くあったよ。
新しい機能は常に追加されますし、Microsoft自身もハマることがあるほどの罠があったりするので、マイナーなものから始まって徐々に対処できなくなっていくんでしょうね。
下記はソフトウェアRAIDの例。今日日見かけないけど。https://forest.watch.impress.co.jp/docs/news/1263453.html [impress.co.jp]
ファイルシステムの文字コードがCP932の環境における所謂「Shift_JISのダメ文字」がファイル名にある時のファイル認識ができない問題は回避不能な時期がありました。※ダメ文字について https://ja.wikipedia.org/wiki/Shift_JIS#2%E3%83%90%E3%82%A4%E3% [wikipedia.org]
PHP 7.1 でようやく解決されました。 https://www.php.net/manual/ja/migration71.windows-support.php [php.net]
> 長いpath と UTF-8のpath のサポート> Webアプリケーションが UTF-8 に対応しているなら、追加の作業は必要ありません。 UTF-8 でないpathへの I/O に依存したアプリケーションについては、 明示的に INIディレクティブを設定する必要があります。 エンコーディングのINI設定のチェックは、コアの順番に依存します:>> internal_encoding> default_charset> zend.multibyte
PHP 7.0 までは、ダメ文字問題が存在します。
本題とは関係ないとこでUTF-8→UTF-16
FAT環境のドライブ対象だとまだこの問題残ってたりするんかいな?
(NTFSの)ファイルシステムは、リリース当初から今にいたるまでずっと UTF-16ですよ。UTF-8にはなってません。FAT系はSJISで、exFatからUnicodeもサポートされましたが、こちらもUTF-16です。
FAT16でも長いファイル名はUTF-16(当時はUCS-2だったかも)をサポートしていたが?Win9xではアクセスAPIの都合で結局SJISしか使えなかったけど、WinNTはちゃんとUnicodeのファイル名をFATでも使えた。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
Windows版特有のバグとは? (スコア:2)
たとえばどんなの?
PHPくらいのレイヤーだとそんなになさそうだと思ってしまうんだけど。。。
Re: (スコア:0)
ドライブレター絡みとか、共有ディスク上のファイルのロックの挙動とかありそうですね。
Re:Windows版特有のバグとは? (スコア:2)
トラブルとしてはたしかにありがちだけども、PHPほどのレベルと歴史で、そんなのが今さらそうそうあるの?
# 内部的に汎用的な対処法が決まってそうだけど。
Re: (スコア:0)
日本語ファイル名を扱うとおかしな事になることが良くあったよ。
Re: (スコア:0)
新しい機能は常に追加されますし、Microsoft自身もハマることがあるほどの罠があったりするので、
マイナーなものから始まって徐々に対処できなくなっていくんでしょうね。
下記はソフトウェアRAIDの例。今日日見かけないけど。
https://forest.watch.impress.co.jp/docs/news/1263453.html [impress.co.jp]
Re: (スコア:0)
ファイルシステムの文字コードがCP932の環境における
所謂「Shift_JISのダメ文字」がファイル名にある時のファイル認識ができない問題は回避不能な時期がありました。
※ダメ文字について
https://ja.wikipedia.org/wiki/Shift_JIS#2%E3%83%90%E3%82%A4%E3% [wikipedia.org]
Re:Windows版特有のバグとは? (スコア:1)
PHP 7.1 でようやく解決されました。 https://www.php.net/manual/ja/migration71.windows-support.php [php.net]
> 長いpath と UTF-8のpath のサポート
> Webアプリケーションが UTF-8 に対応しているなら、追加の作業は必要ありません。 UTF-8 でないpathへの I/O に依存したアプリケーションについては、 明示的に INIディレクティブを設定する必要があります。 エンコーディングのINI設定のチェックは、コアの順番に依存します:
>
> internal_encoding
> default_charset
> zend.multibyte
PHP 7.0 までは、ダメ文字問題が存在します。
Re: (スコア:0)
本題とは関係ないとこで
UTF-8→UTF-16
FAT環境のドライブ対象だとまだこの問題残ってたりするんかいな?
Re: (スコア:0)
(NTFSの)ファイルシステムは、リリース当初から今にいたるまでずっと UTF-16ですよ。
UTF-8にはなってません。
FAT系はSJISで、exFatからUnicodeもサポートされましたが、こちらもUTF-16です。
Re: (スコア:0)
FAT16でも長いファイル名はUTF-16(当時はUCS-2だったかも)をサポートしていたが?
Win9xではアクセスAPIの都合で結局SJISしか使えなかったけど、WinNTはちゃんとUnicodeのファイル名をFATでも使えた。