2009-06-29 5 views
3

J'ai une page qui utilise le jeu de caractères UTF-8, mais les caractères sont altérés sur la page, je pense que c'est juste une question de réglage d'un en-tête "Content-Type: text/html; charset = utf-8 "... Je sais comment faire cela en PHP, placez simplement ce qui suit en haut de la page.Comment envoyer des en-têtes bruts dans ruby ​​

<?php header("Content-Type: text/html; charset=utf-8"); ?> 

Existe-t-il un moyen de le faire dans ruby? Pouvez-vous placer un en-tête en haut d'une page, comme ça?


mise à jour: 29 juin 1: 20p PST

Je suis pas en utilisant ce dans le cadre d'une application de rails. C'est pour une page de navigateur intégrée dans une application autonome, je peux utiliser Javascript et/ou Ruby pour créer des pages dynamiques.

+2

S'il vous plaît expliquer comment vous générez la page Web. Utilisez-vous le module cgi? Fait-il partie d'une application Rails? –

+0

Désolé, nous ne pouvons pas vous aider. Souhaitez-vous publier un code afin que nous puissions voir comment le contenu est généré? –

Répondre

1

Si vous utilisez Rails, vous voulez:

response.content_type = Mime::HTML 
response.charset  = "utf-8" 

Vous pouvez également essayer de définir les en-têtes directement:

response.headers["Content-Type"] = "text/html; charset=utf-8" 

Si vous utilisez Rack, vous voulez définir l'en-tête en utilisant le deuxième élément du tuple:

class MyRackApp 
    def call(env) 
    response = [] 
    # do stuff with env, populating response 
    # response is [status_code, headers, body] 
    response[1]["Content-Type"] = "text/html; charset=utf-8" 
    response 
    end 
end 

Si vous utilisez CGI brut (je recommande sur rack cgi.rb):

header("text/html; charset=utf-8") 
+0

Merci pour les trois vues. J'ai utilisé la bibliothèque "cgi". (C'était rapide-n-sale) – null

0

Je ne sais pas comment répondre à cette directement, sans en apprendre davantage sur la façon dont vous générez la page , mais je pourrais vous suggérer de vous pencher sur certains des frameworks web légers non-Rails pour Ruby. Il y en a beaucoup et ils facilitent ce genre de choses.

Par exemple, Rack a un hachage facile à utiliser pour les en-têtes à envoyer au navigateur. De même dans Camping vous pouvez simplement faire quelque chose comme @headers['Content-Type'] = 'text/css'

Questions connexes