UTF-8-mac
Gitboxやその他の多くの製品で文字化けが発生する原因となっているUTF-8-macを廃止し、UTF-8を利用したいです。
MacBook Pro, Mac OS X (10.7.4)
Gitboxやその他の多くの製品で文字化けが発生する原因となっているUTF-8-macを廃止し、UTF-8を利用したいです。
MacBook Pro, Mac OS X (10.7.4)
shinichiro.aska さんによる書き込み:
Gitboxやその他の多くの製品で文字化けが発生する原因となっているUTF-8-macを廃止し、UTF-8を利用したいです。
実際にトラブルに遭遇されているようなので、その点はお気の毒ではあります。
UTF-8-MAC に関する情報は「MacWiki - UTF-8-MAC」や「Unicode正規化」に詳しいようです。「Unicode正規化」はなかなか詳しいようです。私もじっくり読んでみたいと思っています。「MacWiki - UTF-8-MAC」の方はもう1つ程詳しくはありませんが、簡明にわかりやすく記述されています。それによれば
将来的には UTF-8 を扱うアプリケーションは全て分解をサポートすべきであると考えられますが、 現在のところ NFD で正規化された UTF-8 は OS X のファイルシステムでしか使われていない状況にあるため、 これをサポートするソフトウェアはまだ少ないようです。
上の文章は擁するに「将来的には UTF-8 を扱うアプリケーションは全て NFD であるべきだと考えられますが」ということです。また、NFC にしても「紹介マニアどらふと版: Mac OS X におけるファイル名に関するメモ(NFC, NFD等)」では以下のような記述も見られます:
Windows や Linux は NFC で正規化されていると考えらますが、動作的には積極的に正規化した結果で NFC になっているのではなくて、合成済みの文字のみしか扱かわないので偶然 NFC になっているように見えます。
Mac の場合は積極的にファイル名に NFD を利用して正規化を実施します。ただし Mac の 正規化は NFD と同じではないため、単純ではありません。NFD の仕様で正規化対象になるべき文字の一部が正規化対象になっていません。
以上のことを信じるならば、Windows(多数派)が NFC を選択したのは単なる偶然で、理由があったわけではなく、方向性としては OS X が選択した NFD の方が好ましいということになるようです。NFD に対応すれば、たぶんアイヌ語の「ト゚」[tu]、「ツ゚」[tu]、「セ゚」[ʦe] や日本語の共通語の鼻濁音の「か゚」[ŋa]、「き゚」[ŋi]、「く゚」[ŋɯ̈]、「け゚」[ŋɛ]、「こ゚」[ŋo] だけではなく、必要があれば「え゙⁉」とか「え゚」等も正確に表示されるのではないかと想像します。専門ではないので違っているかもしれませんが。
いずれにせよ、現状の Apple サポートコミュニティの画面表示ではこれらは全て分解されて表示されてしまうと思います。
以上のことを考慮すれば、「Apple は OS X で多数派と互換性のない UTF-8-NFD を廃止し、多数派の UTF-8-NFC を使うべきだ」という主張は、「ガラケーの文字コードが日本のこれまでの携帯電話では標準だった JIS (ISO-2022-JP) の文字コードのみに対応しているのに、iPhone は世界中の文字に対応している Unicode を使っているのはけしからんので、日本での多数派である(外国語も日本語の文字の一部も表示できない)JIS (ISO-2022-JP) に改めるべきだ」と主張しているのと同じようにも思えます。本来は、iPhone の文字コードシステムを退化させるのではなく、ガラケーの文字システムを進化させるべきでしょう。
現実に、トラブルに遭遇されているという事情を鑑みれば、「必要があれば、UTF-8-NFC でも出力できる互換モードもぜひ用意して欲しい」と主張されるべきであり、「廃止しろ!」と要求するのはいささか乱暴な気がします。
--------------------
Apple MacBook Pro (17"/Intel Core i7/2.3 GHz/8 GB RAM/512 GB SSD/HR-AG)
OS X 10.8.1 (Build 12B17) [Mountain Lion]
ここはAppleのサポートではありません。ユーザ同士の情報交換・共有の場所ですので、ここに書いてもAppleには伝わりません。Appleの関係者はいわゆる掲示板の管理をする目的以外ではここを見ていませんし、反応もしません。要望等は「アップル - フィードバック」等からどうぞ。
文字コードの問題は元々当初のコンピュータの能力の限界の問題があり、当初 7 bit の 128 種類、後に 8 bit の 256 種類の記号(制御文字を含む)しか定義できなかったので、言語に拠ってフォントセットを交換しなければならない等、大変でした。ラテン文字を使う言語だけでも10種類以上の文字コードに切替えが必用でした。さらにラテン文字以外の言語ごとに独自の文字エンコードが用意され、日本語には当時の制限の中では天才的 (?) なトリックで Shift JIS が Microsoft によって提案されました。当時の制限の中では Shift JIS は救世主だったと思います。しかし、その結果文字表示と文字化けの問題は全世界的にカオスの状況を呈することになりました (^◇^;)。
それが解消する目処が立ったのは今世紀に入って、Windows と MacOS X が次々と Unicode に移行したからでした。Mac OS X の方は、OS が Mac OS 9 と断絶したこともあり、「えいやっ!」と全てのシステムが、アプリケーションレベルまで一斉に Unicode に移行しました。(レガシーなアプリケーションとして AppleWorks 等がしばらくは併用できる仕組みが用意されていましたが、それも今では完全に切り捨てられました。)Windows の方では、過去との互換性(しがらみ?)の問題から、未だにアプリケーションレベルでは Shift JIS がメインのようです。OS レベルでは Unicode なのに、アプリケーションレベルでは Unicode が通らないという不思議な仕組みを用いているようです。これは未来よりも過去の資産を優先させているためだと思われます。
いずれにせよ、この移行期が過ぎ去れば、後は Unicode だけで統一されますし(逆光はあり得ません)、ガラケーなどもスマホのように Unicode に対応せざるを得なくなるでしょう。1度全てのシステムが Unicode になってしまえさえすれば、後は NFC と NFD の問題はそれほど問題ではないような気がします。NFC の方で文字化けの問題が発生するのは、単に機械的に Unicode に対応しただけで、本格的に Unicode に対応する覚悟がなかっただけだからだと思います。今後、全てが Unicode に統一されれば、恐らく PC 陣営でもきちんと NFC↔NFD の互換性に対応してくるはずだと思います。あくまでも想像ですが。
あと数年でこの混乱と渾沌は解消される、少なくとも開善されると考えています。その転換期となるのは、ガラケーが JIS (ISO-2022-JP) を捨てて Unicode に移行するときだと考えています。ガラケーが Unicode に移行する時期は必ず来ると確信しています。恐らく2年以内に...。
これはAppleに対する要望でしょうか?
それともご自身の環境で何とかしたいと言うことでしょうか?
gitはよく知らないのですが、こういうことをやっている方なら解決策は検索済みでしょうから、
どうしたのかを詳しく書いてくださいね。
はい、UTF-8-macに対応していない製品を利用する度に製作者に要望を送ったり自分でなんとかしているのですが、そういった対応の必要が少ない環境を望んでいます。
失礼しました、ありがとうございます。
詳しく解説頂きありがとうございます。
UTF-8-NFD(UTF-8-mac) / UTF-8-NFC の構図は Unicode / JIS よりも Windows-31J / Shift-JIS を連想し今後の普及に期待ができるのか不安ですが、対応が広がることを祈ります。
そういえばこんな感じでしたね。
私も以前ローカルにwebページを落としてshell script で変換する時に、
何でこんなところで化けるんだろうと思って探したことがありました。。
ユニコードの NFC/NFD には互換性問題(規格上の欠陥)があって、それを回避する為に NFD を基にして Apple が独自に作ったものが、いわゆる UTF8-MAC。なので、NFD と UTF8-MAC は別のものです。
UTF8-MAC は互換性問題を回避した優れものなのに、わざわざ文字化けする NFC や NFD にしろというのはおかしな話だと思います。
UTF-8-mac