Sök  
 
Skribent Inlägget Löst
Google
 
     

  Forum » .NET 3.5 » Ändra encoding på string (request.form)  
 
Skriven av: jimmie | den 13 augusti 2008 Kl 15:06
Ändra encoding på string (request.form) Tråden är löst
Hej, Jag använder mobilstart.se för att ta emot inkommande text/bild från SMS/MMS.

Det funkar som så att när man skickar ett mess till 72500 skickar mobilstart vidare all information till min sajt via ett http-anrop.


jag kan då enkelt plocka ner texterna som skickats via vanlig Request.Form[""]

problemet är att jag får inte åäö att fungera, det blir istället bara ?.

Mobilstart säger "Det är iso-8859-1 encoding på alla texter som skickas vidare."

hur gör jag för att ändra encoding på det jag tar emot eller hur löser jag detta helt enkelt?

tack

Redigerad av: jimmie

Har nu testat följande:

Kod:


  public static string ConvertString(string convertMe)
  {
  Encoding asciiEncoding = System.Text.Encoding.GetEncoding("ISO-8859-1", new EncoderReplacementFallback(""), new DecoderReplacementFallback());

  Encoding utf8Encoding = System.Text.Encoding.GetEncoding("UTF-8");

  byte[] utf8Bytes = utf8Encoding.GetBytes(convertMe);

  byte[] asciiBytes = Encoding.Convert(utf8Encoding, asciiEncoding, utf8Bytes);

  return asciiEncoding.GetString(asciiBytes);

  }




enligt http://bytes.com/forum/thread471481.html

nu försvann mina ?, men min åäö är nu helt borta..


Antal svar 14



NAVIGERING: 1 [2]
Skriven av: BlackMustard | den 15 augusti 2008 Kl 11:42
hm... var ordet! requestencoding finns inte heller med under http://msdn.microsoft.com/en-us/library/ydy4x04a(VS.80).aspx där alla attribut du kan använda på @Page är listade.

jag antar att vimpy, tant102 eller nån annan med lite bättre koll på alla smådetaljerna i .net (som man ju nästan aldrig behöver, wink wink ;) får rycka in och förklara hur det hänger ihop.
Skriven av: Guffa | den 15 augusti 2008 Kl 14:42
Det går inte att sätta RequestEncoding för en enskild sida med några inställningar, utan det måste göras med kod.

I metoden Application_BeginRequest i global.asax kan du kolla ifall det är den sidan som efterfrågas (Request.Path), och i så fall sätta Request.ContentEncoding.

Ett alternativ är att lägga sidan i en egen undermapp, och lägga en web.config-fil i mappen där du sätter requestEncoding.
Skriven av: jimmie | den 15 augusti 2008 Kl 15:15
ok! tack guffa

jag körde på ditt alternativ två och det funkade fint!
Skriven av: suddaren | den 10 juni 2015 Kl 10:37
Hej,

här är en lösning också, lägg en "location path" i web.config och sätt unikt värde:

<location path="~/dinfil.aspx">
  <system.web>
  <globalization requestEncoding="iso-8859-1" />
  </system.web>
  
  </location>
NAVIGERING: 1 [2]
 
     

  Svara på inlägg  
 
Du måste vara medlem på ASPsidan för att kunna skriva i forumet.
För att bli medlem klicka här.
 
     

  » Logga in  
 
Användarnamn

Lösenord

 
     

  » Bli medlem  
  Bli medlem på ASPsidan!  
     

     
  Microsoft  
     

  » Partners  
  Comsolvia  
     
  » ANNONS  
  ingen annons än  
     

  » Senast online  
  Endast för inloggade  
  Antal inloggade: 1  
     

Copyright © 2007 www.ASPsidan.se
ingen sponsrar längre ASPsidan med Dedikerad Server
ASPsidan RSS
   
 XHTML / CSS
Det tog 0,1719 sekunder att ladda sidan