Pregunta

Tengo una página que utiliza el juego de caracteres UTF-8, sin embargo, los caracteres están mutilados en la página, creo que esto es sólo una cuestión de establecer un encabezado "Tipo de contenido:texto/html;conjunto de caracteres=utf-8"...Sé cómo hacer esto en PHP, simplemente coloque lo siguiente en la parte superior de la página.

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

¿Hay alguna manera de hacer esto en Ruby?¿Puedes colocar un encabezado así en la parte superior de una página?


actualizar: 29 de junio a las 1:20 p.m. PST

Soy no usando esto como parte de una aplicación de rieles.Es para una página de navegador integrada en una aplicación independiente, puedo usar Javascript y/o Ruby para crear páginas dinámicas.

¿Fue útil?

Solución

Si está utilizando rieles, que deseas:

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

También puede tratar de establecer directamente los encabezados:

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

Si está utilizando Rack, que desea establecer la cabecera mediante el segundo elemento de la tupla:

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 está utilizando CGI en bruto (sin duda recomendaría estante sobre cgi.rb):

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

Otros consejos

¿Está utilizando Ruby on Rails?

request.headers["Content-Type"] # => "text/plain"

O tal biblioteca CGI de Ruby?

http: //www.ruby -doc.org/stdlib/libdoc/cgi/rdoc/classes/CGI.html#M000098

No estoy seguro de cómo responder a esta directamente sin tener que aprender más acerca de cómo se está generando la página, pero que podría sugerir que usted mira en algunos de los ligeros no Rieles frameworks web para Ruby. Hay muchos y hacen cosas como esta fácil.

Por ejemplo, Estante tiene un fácil de -uso de hash para conectores para enviar al navegador. Del mismo modo, en camping que sólo puede hacer algo como @headers['Content-Type'] = 'text/css'

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top