2013-03-08 20 views
8

często używam następujących szybko odpalić serwer WWW do obsługi zawartości HTML z bieżącego folderu (na badania lokalnego):Jak mogę wyświetlać pliki z kodowaniem UTF-8 za pomocą Python SimpleHTTPServer?

python -m SimpleHTTPServer 8000 

Czy istnieje dość prosty sposób można to zrobić, ale mam serwer serwować pliki z kodowaniem UTF-8, a nie domyślnie?

+1

to kodowanie zmienione przez SimpleHTTPServer? Będąc prostym, zakładam, że obsługuje bajty tak jak jest. – monkut

+1

Masz rację: nie było to kodowanie plików, brakowało metatagu zestawu znaków w kodzie HTML. Dzięki, że doprowadziłeś mnie na właściwą drogę! –

+0

Nie jestem całkiem pewien, co teraz zrobić z tym pytaniem - usunąć? –

Odpowiedz

13

Miałem ten sam problem, poniższy kod pracował dla mnie.

Aby uruchomić urządzenie SimpleHTTPServer z kodowaniem UTF-8, wystarczy skopiować/wkleić następujące elementy w terminalu.

python -c "import SimpleHTTPServer; m = SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map; m[''] = 'text/plain'; m.update(dict([(k, v + ';charset=UTF-8') for k, v in m.items()])); SimpleHTTPServer.test();" 

Upewnij się, że masz wcześniej prawidłowy zestaw znaków w swoich plikach HTML.

+0

W tym przykładzie w jaki sposób zmienić port serwera? – Gurzo

+0

@Gurzo Wystarczy dodać numer portu jako argument do polecenia Pythona. Podobnie jak "python -c" zaimportuj ... "1234", aby uruchomić go na porcie 1234. – oligofren

+0

Miałem ten sam problem. Nie udało się uzyskać kodu działającego, ale dodanie poprawiło znaki. – David

Powiązane problemy