Pregunta

Me pueden ayudar por favor?En la página web, necesito imprimir esta:

equipo 1 vs equipo 2

equipo 3 vs equipo 4

equipo 5 vs equipo 6

el equipo 7 vs 8

Mi código:

<erl>
first_team_write(Head) ->
  {ehtml,
    %[{text,[], f("~p vs ", [Head])}]}.        % try
    [{p,[], [Val, " vs "]} || Val <- [Head]]}. % different
second_team_write(Head) ->
  {ehtml,
    %[{text,[], f("~p", Head)},                % ways
    [{p,[], [Head]},                           %
    {p,[], []}]}.

write_teams([], Num) ->
  Num;

write_teams([Head|Tail], Num) ->
if
  (Num rem 2) /= 0 ->
    first_team_write([Head]),
    io:format("~p vs ", [Head]),  %% debug
    write_teams(Tail, Num+1);
  (Num rem 2) == 0 ->
    second_team_write(Head),
    io:format("~p~n", [Head]),  %% debug
    write_teams(Tail, Num+1)
end.


out(A) ->
  application:start(odbc), 
  ConnString = 
  %"Driver={MySQL ODBC 5.2 ANSI Driver};" ++
  "Driver={MySQL ODBC 5.2 Unicode Driver};" ++
  "Server=127.0.0.1;Database=erandom;" ++ 
      "User=root;Password=1q2w3e;" ++ 
      "Option=3;" ++
      "CharSet=utf8;",
      {ok, Conn} = odbc:connect(ConnString, []), 
      % Cyrillic results
      Results = odbc:sql_query(Conn, "select team_name from teams where id in (select team_id from leagues where league_name = 'First League')"), 
      %{selected, [Selector], Results} = odbc:sql_query(Conn, "select team_name from teams where team_name in ('Sporting', 'Old School')"),
      %{selected, [Selector], Results} = odbc:sql_query(Conn, "select team_name from teams where id in (select team_id from leagues where league_name = 'First League')"),
      odbc:disconnect(Conn),
      application:stop(odbc),
      TeamList = element(3, Results),
      {ehtml,
        [{h4,[], "Пары этого тура:"},
        {hr},
          write_teams(TeamList,1)
      ]}.

</erl>

Resultado:Mi página web está en blanco.¿Qué estoy haciendo mal?Veo en la consola de depuración:

1>
=INFO REPORT==== 25-Feb-2014::23:08:27 ===
    application: odbc
    exited: stopped
type: temporary
1> {[208,159,209,128,208,190,208,188,208,181,209,130,208,181,208,185]} vs 1> {[208,161,208,145,208,162]}
1> {[208,158,208,187,208,184,208,188,208,191]} vs 1> {[208,159,209,128,208,190,208,179,209,128,208,181,209,129,209,129]}
1> {[208,164,208,154,32,208,148,209,142,208,182,208,184,208,189,208,176]} vs 1> {"Old school"}
1> {[208,161,208,191,208,176,209,128,209,130,208,176,208,186]} vs 1> {[208,160,208,190,209,130,208,190,209,128]}
1> {"Sporting"} vs 1> {[208,161,208,190,208,191,209,128,208,190,209,130,208,184,208,178,208,187,208,  181,208,189,208,184,208,181]}
¿Fue útil?

Solución

Creo que no estás especificar el juego de caracteres correctamente en su respuesta HTTP.En primer lugar, ya se han Cirílico texto incrustado en su .el pian de la página, asegúrese de que su editor es el ahorro como UTF-8.Cómo lograr esto depende de su entorno de desarrollo y el editor, pero yo uso emacs, por lo que acabo de añadir el siguiente código HTML comentario a la parte superior de la .el pian de archivo:

<!-- -*- coding: utf-8 -*- -->

El siguiente problema es conseguir que el conjunto de caracteres establecido correctamente en las cabeceras HTTP de la respuesta.Para ello, establezca la Content-Type cabecera de forma apropiada en su respuesta como esta:

[{header, {content_type, erase}},
 {header, {content_type, "text/html; charset=UTF-8"}},
 {ehtml,
  [{h4,[], "Пары этого тура:"},
   {hr},
      write_teams(TeamList,1)
  ]}].

Tenga en cuenta que todo tipo de retorno es una lista de Erlang.La primera tupla en la lista, se borra el valor predeterminado Content-Type encabezado que el Pian se aplica por defecto .el pian páginas.La segunda tupla en la lista especifica el valor correcto para Content-Type incluyendo la codificación UTF-8 caracteres.El tercer elemento de la lista es el mismo ehtml tupla especificado en el enunciado del problema anterior.

Por CIERTO, usted puede construir el Pian con UTF-8 como el conjunto de caracteres predeterminado por la ejecución del Pian configure secuencia de comandos, como se muestra a continuación:

configure --with-defaultcharset=UTF-8

Después de eso, reconstruir el Pian con make como de costumbre.Si usted hace esto, los dos tuplas para la configuración de la Content-Type su respuesta no son necesarios, ya que la codificación UTF-8 sería el juego de caracteres por defecto para todas las respuestas.

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