アカウント名:
パスワード:
http://www.itmedia.co.jp/news/articles/1606/08/news138.html [itmedia.co.jp]
> まつもと氏「MSがWindowsをUNIXと全く同じにしてくれないからヤダヤダ!」
もう顔中草まみれや・・・
他の言語の作者も、そりゃあ、UNIX文化とMS-DOS文化の差異に悩んだり、ゲイシに悪態つきたくなった事もあったろうが大抵は「Windowsではchmodは何もしないよ」とヘルプに書くだけでメデタシしとるやんけ。
ほんでRubyは、何やこのザマは?他の言語でOSの差異をうまくラップ出来てる所は、Rubyでも当然全部完璧にクリアしとるんやろ
>なんで長いことANSI版APIばかりに固執してたんですかねえ・・・wide版(UTF-16)のAPIを使わせるのがWindowsだけだからでしょ
perlで日本語とか言うまでもない状態だったしpythonも2系は日本語扱うときは気を付けないといけない状態だったしphpも気を付けないと日本語ファイル名使えない。
これらUTF-8の普及したWindows以外の環境では気にする必要のない話な
>PHPファイル名に日本語使うとか仕様としてどうなんだレベルなので別に気にならんが
文字エンコード云々でトラブりやすいのはMicrosoftのせいではなく(まあShift_JISとWindows-31Jの差異みたいな点はあるにせよ)コンピューターで日本語が使われ始めた頃に各社が独自実装やらかしたのが原因だから仕方ないだろうなんでもかんでもUTF-8にすればいいかっていうとそういう問題でもないしな(異字体云々とか)
どちらにせよUTF-8からの移植性ならANSIよりUTF-16のほうがコスト低いので、わざわざRubyがANSI版にしがみつく理由がないスキル低いVB6プログラマーとかでも金科玉条のようにANSI版API使いたがるヤツいるけど、まさかオープンソースAGE・マイクロソフトSAGEの人がそんな真似するとは思わなんだ
むしろANSI版のAPIにUTF-8ぶち込むほうが怖いと思うんだが、まさかWindows98・Meへの後方互換性を気にしてたってオチ?そんな保守的を通り越して時代遅れな人はRubyなんか使わないから(Pythonもだけど)どちらにせよ関係ないよ
で、UNIX/Linuxは相変わらずEUC-jp等でもシステムが立てられる以上、プラットフォームがわかれば文字エンコードが決定できるわけでもないのでWindowsより劣ってるというか不便な面もあるわけだけど、その辺にノータッチなあたりに恣意性を感じる
> ファイル名に日本語使うとか仕様としてどうなんだレベルなので別に気にならんが
日本語ファイル名をアップロードできないWebアプリとかそれこそ仕様としてどうなのってレベルだ。OneDriveとか長い間日本語のファイル名を含んだフォルダをダウンロードするとZipの中の日本語がすべて飛ぶというひどい仕様だったなあ。
> ファイル名に日本語使うとか仕様としてどうなんだレベルなので別に気にならんが日本語ファイル名をアップロードできないWebアプリとかそれこそ仕様としてどうなのってレベルだ。OneDriveとか長い間日本語のファイル名を含んだフォルダをダウンロードするとZipの中の日本語がすべて飛ぶというひどい仕様だったなあ。
HTTP(HTTPS)のPOSTで飛んできたファイルをそのままのファイル名でサーバーに置くなんていうタコい実装してればそうなるだろうけど、それが普通と思ってるなら改めた方がいいよ。そんな実装では脆弱性を作り込んだりする原因になるだけだから。
>ファイル名(Content-disposition: attachmentのfilename部分ね)が「hoge.txt & rm -rf /」とか「../../../../etc/init.d/xxxx」みたいなのだったらどうするの?それと日本語がすべて飛ぶのは別問題だろ
POSTされた日本語を含むファイル名の処理が正しくないパターン(Content-dispositionの扱いがおかしい)のは言語の問題でも文字コードの問題でもなく、単純にプログラマーがタコいだけなので、それこそこのツリーのネタというか反論としては不適切
PHPのシステムもタコいし、それで日本語のファイル名が作れねーと言ってるヤツもタコだし、OneDriveの仕様もタコ。ただしそれはLinuxやらWindowsやらPHPやらRubyやらの問題ではなく、それ作ったやつが配慮不足・無能なだけなので。
だれも UTF-8からのANSIへの移植の容易さなんて話してないんだが・・・C言語使ったことないのか、C言語でもWin32APIを直接使用するというのが当たり前だと思ってるのかどっちだろう
あと、前に別ストーリーで書いたけどMicrosoft傘下になったMinecraftですらWindows10版でユーザー名に日本語が含まれてるとワールド作成できないというバグやらかしてんだぞ。まさに"ANSI版のAPIにUTF-8ぶち込む"をやらかしてる。ANSI版というより文字エンコーディングの規定のないCやC++のAPIに渡して間接的にANSI版のAPに渡されたんだろうが。
もう一つ>UNIX/Linuxは相変わらずEUC-jp等でもシステムが立てられる以上そんな環境は観測できる範囲では絶滅してるから考慮する必要ない
>UNIX/Linuxは相変わらずEUC-jp等でもシステムが立てられる以上そんな環境は観測できる範囲では絶滅してるから考慮する必要ない
自分が知る限り、某省庁の職員向けシステムとか未だにEUC-jp使ってるよ、少なくとも数ヶ月前にメンテ少しだけ手伝った時はまだその環境だった。
自分が観測できる範囲でしか考えられないってどんだけ視野狭いんだろう。
あと、前に別ストーリーで書いたけどMicrosoft傘下になったMinecraftですらWindows10版でユーザー名に日本語が含まれてるとワールド作成できないというバグやらかしてんだぞ。まさに"ANSI版のAPIにUTF-8ぶち込む"をやらかしてる。ANSI版とい
よくもまあ知りもしない人たち(MinecraftをWindows10に移植した人たち)をそこまでコケにできるもんだわ。
よくもまあ知りもしない人たち(MinecraftをWindows10に移植した人たち)をそこまでコケにできるもんだわ
リリース時に重大なバグを残してリリースするような人はコケにされても仕方ないだろ素人が趣味で作ってるなら兎も角、プロダクトとして扱ってるならさ
2バイト文字がユーザー名に含まれていたら起動できなかったGrand Theft Auto Vは最低だったな。
まあ海外製のソフトウェアなんてそんなもんだよね。ここでどれだけその人たちをコケにしようが、わざわざWindowsの一部のユーザーのためだけにUTF-16に対応しようとなんて思われないんだよね。
つーか単純にWindows APIの使い方が悪いんじゃなくて、それで取得したデータの使い方(日本語文字を含むパスなど)がおかしい海外製ソフトなんていくらでもあるしそれはWindowsではなく、Linuxでも普通に起こること(UTF-8環境対応といいながらASCII文字以外はマトモに処理できなかったりとかな)
日本語を含むデータのせいでエラーになる海外製ソフトが必ずしもOS環境のせいだとは限らないのだが、上で上がってるMinecraftやらGrand Theft Auto VやらはAPIの使い方が悪いせいだと検証されてるのだろうかね?
Minecraftはほぼ間違いなくUTF-8だよAndroidやiOSのモバイル版が移植元だから。日本語含む各国言語の表示にも対応してる。それで日本語のファイル名が壊れるってことはCのfopenとかC++のstd::ifstreamとかをそのまま使ってるからとしか考えられない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
Stableって古いって意味だっけ? -- Debian初級
残念でもなけりゃ当然 (スコア:0)
http://www.itmedia.co.jp/news/articles/1606/08/news138.html [itmedia.co.jp]
> まつもと氏「MSがWindowsをUNIXと全く同じにしてくれないからヤダヤダ!」
もう顔中草まみれや・・・
他の言語の作者も、そりゃあ、UNIX文化とMS-DOS文化の差異に悩んだり、ゲイシに悪態つきたくなった事もあったろうが
大抵は「Windowsではchmodは何もしないよ」とヘルプに書くだけでメデタシしとるやんけ。
ほんでRubyは、何やこのザマは?
他の言語でOSの差異をうまくラップ出来てる所は、Rubyでも当然全部完璧にクリアしとるんやろ
Re: (スコア:0)
>なんで長いことANSI版APIばかりに固執してたんですかねえ・・・
wide版(UTF-16)のAPIを使わせるのがWindowsだけだからでしょ
perlで日本語とか言うまでもない状態だったし
pythonも2系は日本語扱うときは気を付けないといけない状態だったし
phpも気を付けないと日本語ファイル名使えない。
これらUTF-8の普及したWindows以外の環境では気にする必要のない話な
Re:残念でもなけりゃ当然 (スコア:0)
>PHP
ファイル名に日本語使うとか仕様としてどうなんだレベルなので別に気にならんが
文字エンコード云々でトラブりやすいのはMicrosoftのせいではなく(まあShift_JISとWindows-31Jの差異みたいな点はあるにせよ)コンピューターで日本語が使われ始めた頃に各社が独自実装やらかしたのが原因だから仕方ないだろう
なんでもかんでもUTF-8にすればいいかっていうとそういう問題でもないしな(異字体云々とか)
どちらにせよUTF-8からの移植性ならANSIよりUTF-16のほうがコスト低いので、わざわざRubyがANSI版にしがみつく理由がない
スキル低いVB6プログラマーとかでも金科玉条のようにANSI版API使いたがるヤツいるけど、まさかオープンソースAGE・マイクロソフトSAGEの人がそんな真似するとは思わなんだ
むしろANSI版のAPIにUTF-8ぶち込むほうが怖いと思うんだが、まさかWindows98・Meへの後方互換性を気にしてたってオチ?
そんな保守的を通り越して時代遅れな人はRubyなんか使わないから(Pythonもだけど)どちらにせよ関係ないよ
で、UNIX/Linuxは相変わらずEUC-jp等でもシステムが立てられる以上、プラットフォームがわかれば文字エンコードが決定できるわけでもないのでWindowsより劣ってるというか不便な面もあるわけだけど、その辺にノータッチなあたりに恣意性を感じる
Re:残念でもなけりゃ当然 (スコア:1)
# 昔はわたしも KernelEx のお世話になったものだ。
Re: (スコア:0)
> ファイル名に日本語使うとか仕様としてどうなんだレベルなので別に気にならんが
日本語ファイル名をアップロードできないWebアプリとかそれこそ仕様としてどうなのってレベルだ。OneDriveとか長い間日本語のファイル名を含んだフォルダをダウンロードするとZipの中の日本語がすべて飛ぶというひどい仕様だったなあ。
Re: (スコア:0)
HTTP(HTTPS)のPOSTで飛んできたファイルをそのままのファイル名でサーバーに置くなんていうタコい実装してればそうなるだろうけど、それが普通と思ってるなら改めた方がいいよ。そんな実装では脆弱性を作り込んだりする原因になるだけだから。
Re: (スコア:0)
>ファイル名(Content-disposition: attachmentのfilename部分ね)が「hoge.txt & rm -rf /」とか「../../../../etc/init.d/xxxx」みたいなのだったらどうするの?
それと日本語がすべて飛ぶのは別問題だろ
Re: (スコア:0)
POSTされた日本語を含むファイル名の処理が正しくないパターン(Content-dispositionの扱いがおかしい)のは言語の問題でも文字コードの問題でもなく、単純にプログラマーがタコいだけなので、それこそこのツリーのネタというか反論としては不適切
PHPのシステムもタコいし、それで日本語のファイル名が作れねーと言ってるヤツもタコだし、OneDriveの仕様もタコ。ただしそれはLinuxやらWindowsやらPHPやらRubyやらの問題ではなく、それ作ったやつが配慮不足・無能なだけなので。
Re: (スコア:0)
だれも UTF-8からのANSIへの移植の容易さなんて話してないんだが・・・
C言語使ったことないのか、C言語でもWin32APIを直接使用するというのが当たり前だと思ってるのかどっちだろう
あと、前に別ストーリーで書いたけどMicrosoft傘下になったMinecraftですらWindows10版でユーザー名に日本語が含まれてるとワールド作成できないというバグやらかしてんだぞ。
まさに"ANSI版のAPIにUTF-8ぶち込む"をやらかしてる。ANSI版というより文字エンコーディングの規定のないCやC++のAPIに渡して間接的にANSI版のAPに渡されたんだろうが。
Re: (スコア:0)
もう一つ
>UNIX/Linuxは相変わらずEUC-jp等でもシステムが立てられる以上
そんな環境は観測できる範囲では絶滅してるから考慮する必要ない
Re: (スコア:0)
自分が知る限り、某省庁の職員向けシステムとか未だにEUC-jp使ってるよ、少なくとも数ヶ月前にメンテ少しだけ手伝った時はまだその環境だった。
自分が観測できる範囲でしか考えられないってどんだけ視野狭いんだろう。
Re: (スコア:0)
よくもまあ知りもしない人たち(MinecraftをWindows10に移植した人たち)をそこまでコケにできるもんだわ。
Re: (スコア:0)
リリース時に重大なバグを残してリリースするような人はコケにされても仕方ないだろ
素人が趣味で作ってるなら兎も角、プロダクトとして扱ってるならさ
Re: (スコア:0)
2バイト文字がユーザー名に含まれていたら起動できなかったGrand Theft Auto Vは最低だったな。
Re: (スコア:0)
まあ海外製のソフトウェアなんてそんなもんだよね。
ここでどれだけその人たちをコケにしようが、わざわざWindowsの一部のユーザーのためだけにUTF-16に対応しようとなんて思われないんだよね。
Re: (スコア:0)
つーか単純にWindows APIの使い方が悪いんじゃなくて、それで取得したデータの使い方(日本語文字を含むパスなど)がおかしい海外製ソフトなんていくらでもあるし
それはWindowsではなく、Linuxでも普通に起こること(UTF-8環境対応といいながらASCII文字以外はマトモに処理できなかったりとかな)
日本語を含むデータのせいでエラーになる海外製ソフトが必ずしもOS環境のせいだとは限らないのだが、上で上がってるMinecraftやらGrand Theft Auto VやらはAPIの使い方が悪いせいだと検証されてるのだろうかね?
Re: (スコア:0)
Minecraftはほぼ間違いなくUTF-8だよAndroidやiOSのモバイル版が移植元だから。日本語含む各国言語の表示にも対応してる。
それで日本語のファイル名が壊れるってことはCのfopenとかC++のstd::ifstreamとかをそのまま使ってるからとしか考えられない。