Banda Ancha EU

Comunidad de usuarios
de fibra, móvil y ADSL

hosting en interdominios
385 lecturas y 11 respuestas
  • Cerrado

    Boca de Pez Boca de Pez
    6

    ruso en asp.net y sql server

    Hola a todos:

    Tengo un pequeño problema con el idioma ruso y es el siguiente. Cuando recupero de la base de datos los caracteres cirilicos todo el rato en la pagina web me los interpreta con caracteres de interrogacion (?). La base de datos la tengo modificado con la intercalacion en Cyrillic_General_100_BIN y esta me la interpreta correctamente, pero cuando lo muestro en la página web siempre esta con las interrogaciones. He provado a poner lo de uiculture, culture, elñ requestencoding, responseencoding pero todo el rato sale con las ?. Parte del codigo de vb es el siguiente:

    Dim cmd_cargar As New ADODB.Command

    cmd_cargar.ActiveConnection = cn

    cmd_cargar.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc

    cmd_cargar.CommandText = "pr_cargar_textos_presentacion"

    Dim prm_idioma As New ADODB.Parameter

    Dim prm_titulo As New ADODB.Parameter

    Dim prm_texto1 As New ADODB.Parameter

    Dim prm_texto2 As New ADODB.Parameter

    Dim prm_texto3 As New ADODB.Parameter

    Dim prm_texto4 As New ADODB.Parameter

    Dim prm_texto5 As New ADODB.Parameter

    prm_idioma = cmd_cargar.CreateParameter("idioma", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 3)

    prm_titulo = cmd_cargar.CreateParameter("titulo", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 500)

    prm_texto1 = cmd_cargar.CreateParameter("texto1", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 8000)

    prm_texto2 = cmd_cargar.CreateParameter("texto2", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 8000)

    prm_texto3 = cmd_cargar.CreateParameter("texto3", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 8000)

    prm_texto4 = cmd_cargar.CreateParameter("texto4", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 8000)

    prm_texto5 = cmd_cargar.CreateParameter("texto5", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamOutput, 8000)

    prm_idioma.Value = "rus"

    cmd_cargar.Parameters.Append(prm_idioma)

    cmd_cargar.Parameters.Append(prm_titulo)

    cmd_cargar.Parameters.Append(prm_texto1)

    cmd_cargar.Parameters.Append(prm_texto2)

    cmd_cargar.Parameters.Append(prm_texto3)

    cmd_cargar.Parameters.Append(prm_texto4)

    cmd_cargar.Parameters.Append(prm_texto5)

    cmd_cargar.Execute()

    If cmd_cargar("titulo").Value Is DBNull.Value Then

    Else

    lbl_titulo.Text = cmd_cargar("titulo").Value

    lbl_texto1.Text = cmd_cargar("texto1").Value

    lbl_texto2.Text = cmd_cargar("texto2").Value

    lbl_texto3.Text = cmd_cargar("texto3").Value

    lbl_texto4.Text = cmd_cargar("texto4").Value

    lbl_texto5.Text = cmd_cargar("texto5").Value

    End If

    Tengo algun parametro mal? Tengo que cambiar alguna configuracion?

    Muchas gracias a todos

    Este tema es antiguo y puede contener información obsoleta. Abre un nuevo tema para publicar tu mensaje.
    • Cerrado

      Boca de Pez Boca de Pez
      6

      Si con el botón derecho al navegador le dices que interprete…

      Si con el botón derecho al navegador le dices que interprete el texto con otra codificación, ¿consigues resultados?

      ¿Has puesto el tipo de codificación en el código HTML que envías al navegador?

      <

    • Cerrado

      Boca de Pez Boca de Pez
      6

      No sale bien el texto, BandaAncha lo interpreta y se lo…

      No sale bien el texto, BandaAncha lo interpreta y se lo carga...

      <meta http-equiv=&quote;Content-Type&quote; content=&quotetext/html; charset=*****************&quote />

      • Cerrado

        Si, debería poder meterse dentro de "código" en el editor,…

        Si, debería poder meterse dentro de "código" en el editor, pero lo elimina igualmente. Se lo voy a comentar a Josh a ver si puede hacer algo.

        El truco momentáneo pasa por dejar espacios en blanco en el código. :)

        < meta http-equiv=" Content-Type " content=" text/html; charset=***************** " / >

        Te borro los post de 'prueba'. ;)

        Saludos.

    • Cerrado

      Boca de Pez Boca de Pez
      6

      Hola a todos: Soy el bocadepez que abrió el post. Tengo…

      Hola a todos:

      Soy el bocadepez que abrió el post. Tengo modificados en la pagina aspx el uiculture y culture por "ru-Ru". Tengo el web.config modificado el globalization con culture="ru-Ru" uiculture="ru-Ru" requestenconding="Unicode" responseEncoding="Unicode".

      Haciendo experimentos lo que he detectado y estoy casi seguro al 100%, que el problema es en el momento que las variables de la pagina web recuperan la información del procedimiento almacenado. En la base de datos se guardan los caracteres en ruso. El procedimiento almacenado ejecutándolo desde el SQLquery también recuperar los caracteres rusos. Si en la web pongo los caracteres ruso directamente también me los muestra y ejecutando paso a paso la web en el momento que recupero los datos del procedimiento almacenado ya aparecen las puñeteras interrogaciones.

      Si alguien sabe donde este mi gran desconocimiento de estos caracteres tan bonitos del cirilico le agradecería mucho que echase un poco de luz sobre este gran agujero.

      Muchas gracias

      • Cerrado

        Hola: Soy el bocadepez que en su día abrió esta discusión. La…

        Hola:

        Soy el bocadepez que en su día abrió esta discusión. La solución fue la siguiente y muy sencilla:

        A la hora de recuperar los datos originalmente lo hacia con ADODB.DataTypeEnum.adVarChar y lo solucione poniendo ADODB.DataTypeEnum.adVarWChar.

        Se que parece una tontería como una catedral, pero solamente fue eso.

        Un saludo gente

        • Cerrado

          EDITO: Reabro el tema para decirte algo. Te he contestado al…

          EDITO:

          Reabro el tema para decirte algo.

          Te he contestado al correo que presuntamente me has enviado, pero se ve que el servidor de correo que usas me 'rechaza' porque me has/han bloqueado. Así que no recibirás respuesta. Podría hacerlo con otra cuenta que desconoces, pero paso.

          sender is blacklisted

          Cómo te has despachado a gusto sin razón aparente, dejaré sólo esta rama abierta un tiempo por si quieres comentar algo más ya que por correo y en privado no es viable, y no por mi. Para la próxima, que te ayuden en esos otros foros que mencionas. Y aprende a usar el NOT, que es algo básico y menos escupir a la cara de los demás cuando te indiquen dónde mejorar el código. :)

          EDIT 2:
          Cerrando de nuevo después de dejar pasar un tiempo prudencial.