Dreamweaver powraca do kodowania zachodniego po zmianie na UTF8

2

Korzystam z programu Dreamweaver CS3, a kiedy zbudowałem aplikację, zapomniałem upewnić się, że kodowanie jest ustawione na UTF8.

Przejrzałem wszystkie moje pliki i zmieniłem kodowanie z zachodnioeuropejskiego na UTF8. To było w porządku, dopóki nie zauważyłem, że niektóre pliki wracają do kodowania zachodnioeuropejskiego po ponownym otwarciu.

Bez względu na to, ile razy zmieniam kodowanie z powrotem (używając Ctrl + J i wybierając menu rozwijane we właściwościach strony) i zapisuję pliki, STILL powraca do zachodniego po otwarciu.

Wydaje się, że dzieje się tak tylko w przypadku niektórych plików, a niektóre są w porządku. Próbowałem utworzyć nowy plik w UTF8 i skopiować do niego zawartość starego. Problem nadal występuje, więc myślę, że plik może zawierać nieparzyste znaki, które powodują, że Dreamweaver „inteligentnie” zmienia kodowanie.

Wszelkie pomysły są mile widziane. Wielkie dzięki.

Pickledegg
źródło
Dreamweaver „inteligentnie” zmienia wszystko dla Ciebie. Lepiej korzystaj z notatnika niż Dreamwaver!
Mike
1
Mike, nie działa, jeśli jest używany jako edytor. Istnieją powody, dla których korzystam z tego oprogramowania w tej chwili, a twoja sugestia, choć może być prawdziwa, nie pomaga w tym przypadku :)
Pickledegg,
W ten sposób jest to komentarz, a nie odpowiedź :)
Mike
Domyślam się, że może to być związane z innym programem otwierającym i wprowadzającym zmiany oraz utratą kodowania UTF-8 w procesie .. ale nie używałem DW od naprawdę bardzo dawna :)
Warren

Odpowiedzi:

4

Pliki zakodowane jako UTF-8 niekoniecznie potrzebują specjalnego znacznika (tak zwanego znaku kolejności bajtów lub „BOM”), aby wskazać, że są zakodowane jako takie.

Zależy to od ustawień, czy Dreamweaver doda taki znacznik. Zwłaszcza w przypadku plików innych niż HTML często nie zaleca się wcale dodawania takiego znacznika dla UTF-8. Jak BOM w pliku CSS mówi się czasami powodować początkowe reguły w pliku na niepowodzenie w niektórych przeglądarkach. Przed wersją 6 PHP po prostu uwzględnia BOM jako wynik , co może powodować błędy „Nie można modyfikować informacji nagłówka - nagłówki już wysłane”.

Programy komputerowe mają kilka opcji określania kodowania podczas otwierania pliku, który nie ma znacznika: zeskanuj pierwsze sto bajtów dokumentu, aby zobaczyć, co tam jest, lub (podobnie jak w przypadku plików XML i HTML) zaufaj wartości niektórych kodowań określonych jako czytelny dla człowieka tekst w dokumencie. A jeśli wszystko się nie powiedzie: po prostu użyj domyślnego ustawienia, gdy kodowanie nie jest inaczej znane.

Jest więc kilka rzeczy do sprawdzenia:

  1. Czy BOM jest używany dla plików, które Dreamweaver poprawnie wykrywa jako UTF-8, oraz w plikach, które wykrywa jako western? Na komputerze Mac otwórz terminal i uruchom:

    plik mój-plik.html

    ... co może dać coś takiego:

    my-file.html: tekst Unicode UTF-8 (z BOM), z zakończeniami linii CRLF

    W systemie Windows możesz znaleźć to samo polecenie w Cygwin . Lub użyj edytora szesnastkowego, aby zobaczyć pierwsze bajty (EF BB BF dla BOM UTF-8). Lub ustaw przeglądarkę tak, aby wyraźnie używała westernu i uruchomiła View Source (lub użyj starego edytora, który nie rozumie UTF-8), aby zobaczyć, czy wyświetla pierwsze bajty jako zabawne postacie, takie jak . To twój BOM UTF-8.

    (Jeśli znajdziesz, ÿþczy þÿto UTF-16. Źle, chyba że piszesz coś po chińsku! W tej odpowiedzi nie widzisz żadnych zabawnych znaków? Przeczytaj o używaniu „Arial Unicode MS” na Get Dingbats w Firefox 3) ? )

  2. Czy elementy wewnętrzne pliku określają kodowanie? Jak na przykład:

    <meta http-equiv = "Content-Type" content = "text / html; charset = UTF-8" /> 

    (W plikach HTML, Content-Type powinna być określona przed tym <title>tagiem.)

  3. Jeśli oba są obecne: czy pasują do siebie?

  4. Jeśli Dreamweaver uważa, że ​​plik nie jest UTF-8: czy to ma znaczenie? Więc: czy są jakieś znaki specjalne w tym pliku? Zwykły plik ASCII nie zmienia się po zapisaniu jako UTF-8 (chyba że BOM ma prefiks).

(Zauważ, że zakładam, że nadal pracujesz z plikami lokalnymi. Jeśli rzeczy są pobierane z serwera internetowego, istnieje również nagłówek HTTP Content-Type. Patrz Firefox wyświetla wtedy śmieciowe znaki zamiast strony internetowej . Po przesłaniu pliki do serwera internetowego, musisz upewnić się, że serwer internetowy wysyła to samo kodowanie w swoich nagłówkach Content-Type).

Arjan
źródło
Daj mu więcej niż 5 minut! Czekałem dni na odpowiedź na moje!
William Hilsum
3

Miałem tylko raz do czynienia z innym kodowaniem i miałem podobne wyniki do tego, co mówisz.

Uważam, że wynika to z faktu, że Dreamweaver po prostu zapomina / nie wykrywa ustawień niektórych plików.

Zmieniłem tę opcję i działało to dla mnie dobrze:

alternatywny tekst

Edycja> Preferencje> Nowy dokument ... Kliknij pole wyboru „Domyślne kodowanie:” / „Użyj podczas otwierania istniejących plików, które nie określają kodowania”

William Hilsum
źródło
1

Menu Modyfikuj> Właściwości strony> Kodowanie i określ kodowanie, na które chcesz przekonwertować dokument

cieszyć się!

Darius Vanan
źródło
1

Żadna z tych odpowiedzi nie jest poprawna.

Jeśli chcesz, aby jakikolwiek plik był otwierany jako UTF-8 podczas jego otwierania, po prostu dodaj ten wiersz jako drugi lub pierwszy wiersz dokumentu:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

Dodaję ten wiersz jako drugi wiersz wszystkich odłamków plików CodeIgniter ... ponieważ w większości plików nie ma znacznika nagłówka.

To powoduje, że Dreamweaver działa poprawnie: ustawienie domyślnego zestawu znaków Kodowania. Panel preferencji w ogóle nie działa.

Jodo
źródło
0

myślę, że jeśli chcesz usunąć BOM z plików utf-8 na Dreamweaver (tworzenie plików), powinieneś to zrobić:

zadziałało dla mnie, więc spróbuj sam zobaczyć wynik


w Dreamweaver:

1º przejdź do ustawień;

2º w menu kategorii kliknij „nowy plik” lub „nowy dokument”

3º pierwsze pole wyboru musi być zaznaczone, a domyślnym kodowaniem musi być utf-8


1º przejdź do „C: \ Program Files (x86) \ Adobe \ Adobe Dreamweaver CS6”

2º wyszukaj Default.php i Default.dwt.php

3º otwórz notatnik ++ z uprawnieniami administratora

4º wybierz dwa pliki

5º kliknij prawym przyciskiem myszy i wybierz edytuj za pomocą notatnika ++


w notatniku ++:

w pliku eatch wykonaj następujące czynności:

Kodowanie 1 kliknięciem na górnym pasku

2º w podmenu kliknij kliknij: „Konwertuj na utf-8 widout BOM”

Zapisz plik 3º

SkullWritter
źródło
-1

Sprawdź iconv może ...

EDYCJA: Nie wiem, czy próbowałeś już tej ikonyv. Być może byłeś zbyt leniwy, aby zainstalować cygwin. W tym linku wiki znalazłem interfejs WWW do iconv. Sprawdź to .

Mikrofon
źródło
Jeśli jest obecny, należy również zmienić kodowanie określone w samej zawartości pliku, np.<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
Arjan,