2013-03-08 15 views
8

Genellikle çabuk (yerel testi için) geçerli klasörden HTML içeriği sunmak için bir web sunucusu ateşlemek için aşağıdaki kullanın: Python SimpleHTTPServer kullanarak dosyaları UTF-8 kodlamasıyla nasıl sunabilirim?

python -m SimpleHTTPServer 8000 

bunu yapabilirim makul basit bir yolu var mı, ama sunucu var dosyaları sistem varsayılanı yerine bir UTF-8 kodlamasıyla sunabilir mi?

+1

, SimpleHTTPServer tarafından değiştirilen kodlamadır? Basit olmak gerekirse, baytları olduğu gibi kullanır. – monkut

+1

Haklısınız: dosya kodlama değildi, HTML'de charset meta etiketini kaçırıyordum. Beni doğru yolda aldığın için teşekkürler! –

+0

Şimdi bu soruyla ne yapacağından emin değilsiniz - silinsin mi? –

cevap

13

Aynı sorun vardı, aşağıdaki kod benim için çalıştı.

SimpleHTTPServer'ı UTF-8 kodlamasıyla başlatmak için, aşağıdakileri terminalde kopyala/yapıştırmanız yeterlidir.

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();" 

Önceden HTML dosyalarınızda doğru karakter kümesine sahip olduğunuzdan emin olun.

+0

Bu örnekte, sunucu bağlantı noktasını nasıl değiştirebilirim? – Gurzo

+0

@Gurzo Sadece portnumber'i python komutuna bir argüman olarak ekler. "Python -c" içe aktarma ... 1234'ü 1234 numaralı bağlantı noktasında çalıştırmak gibi. – oligofren

+0

Aynı problemi yaşadım. Kodu çalıştıramadı, ancak karakterlerini ekledi. – David

İlgili konular