Chociaż nie jestem ekspertem od systemów operacyjnych i zacząłem używać OSX po pochodzeniu z Windows, uważam się za PowerUser w Windows i dość kompetentny w Linux. Wychodząc z tego tła, byłem zaskoczony, że w dość nowoczesnym systemie operacyjnym, takim jak OSX, system plików ma dziwactwa, takie jak sposób „munglowania” nazw plików.
Rozumiem, że problemy Linusa z HFS + wynikają z tego samego punktu: z tego, co znalazłem badając problem, HFS + przechowuje nazwy plików przy użyciu Unicode, ale gdy plik używa znaków „rozszerzonych” lub NIE-ASCII (takich jak á, é, í, ó, ú, ñ z hiszpańskiego lub rzeczy takie jak ü w języku niemieckim), dla których Unicode zapewnia 2 sposoby kodowania nazwy, OSX cicho „normalizuje” kodowanie w czasie przechowywania ... Nie jest to prawdziwy problem, gdy plik został utworzony i zużyty w OSX, ale gdy udostępniasz informacje użytkownikom innych systemów operacyjnych, fakt, że nazwa pliku się zmienia, powoduje różne dziwne zachowania ...
Przykład: śledzę swoje „artefakty” (pliki, dokumenty itp.) W Subversion przez ostatnie 8 lat. Przeprowadzając się do Maca, dostałem klienta SVN dla Maca i po przejściu do moich odpowiednich katalogów, stwierdziłem, że brakuje wszystkich plików z akcentami, a nowy plik o tej samej nazwie pojawia się jako nie wersjonowany. Wnikając w to, problem polega na tym, że plik W systemie plików jest zakodowany w formacie Apple, podczas gdy dane w repozytorium używają innego (doskonale poprawnego i legalnego) kodowania Unicode ...
To, jak sądzę, jest rażącym „poplątaniem” moich danych. Apple rozumie oba formaty kodowania nazw plików (uzyskiwanie dostępu do udziału w systemie Windows lub używanie pamięci USB z systemu Windows pokazuje prawidłowe nazwy plików itp.), Ale w momencie tworzenia pliku zdecydowano, że „wie lepiej” i po prostu zmienił nazwę plików. ..
Znów, nic nie zauważy większość użytkowników - dopóki nie zrobią kopii pliku lub nie zmienią jego nazwy, i nie odłożą go tam, gdzie był oryginalny, i nie otrzymają dwóch plików, które najwyraźniej są takie same !!!)