Meddelande

Minska
No announcement yet.

ISO-8859-1 > Konvertera till uft8 > ASP och MySql

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • ISO-8859-1 > Konvertera till uft8 > ASP och MySql

    Hej!

    Jag har ett problem jag inte lyckas lösa:
    När jag började en ganska stor webbplats gjorde jag misstaget att inte bry mig om character set, trodde att allt var utf8. Så visade sig fallet inte vara. Alla sidor har sparats i ISO-8859-1 och även definierats så via meta taggen.

    Nu ska jag konvertera allt till utf-8. Så jag har öppnat alla asp dokument, sparat dem i utf-8 och även ändrat character set till utf-8. So far so good.

    Nu hämtar jag ut MYCKET data ur en MySql databas som jag administrerar via PhpMyAdmin. Även där har jag även ställt om allt till utf8_general_ci nu.

    Men nu kommer problemet. När jag gjort detta kommer alla åäö samt annorlunda tecken upp som "?" när jag skriver ut datan på hemsidan. Trots att allt borde vara och ha konverterats till utf8 (Tycker jag).

    Jag har konstaterat att fast att jag ställt om alla tabeller i databasen till utf8 samt alla asp dokument så är all text/tecken, som sparats in fortfarande i ISO-8859-1 då den från början sparats ned så... Dvs, den texten som sparats in i det formatet ändras inte trots konverteringen via PhpMyAdmin till ut8_general_ci. Om jag däremot redigerar texten från administrationssidan och sparar ned den så blir texten rätt, dvs om jag byter ut ett "?" mot exempelvis "ä" och uppdaterar.

    Så kort och gott verkar det som att MySql tabellen är i utf8, men att den inte konverterar den gamla texten som redan finns i tabellen till utf8.

    Frågan är, hur konverterar jag om all text utan att behöva redigera om all text och spara om varje post, då det är tusentals poster som jag annars måste gå in och byta alla "?" i och uppdatera? Finns det någon sql sträng jag kan köra som konverterar om den faktiska texten i alla poster, eller finns det någon asp kod som kan konvertera när den hämtar upp upp texten?

    Har bla prövat att köra denna:
    Kod:
    ALTER TABLE tablename MODIFY colname MEDIUMTEXT CHARACTER SET utf8;
    Men den gjorde inte jobbet. Och har prövat att ställa in utf8 på diverse sätt i ASP, men utan att lyckas då textformateringen på datan fortfarande är ISO-8859-1 när den kommer upp.

    Ett bra tips här hade varit grymt!

    Ps. vet inte om detta ska vara under ASP eller under MySql tråden. Det beror väl lite på hur den eventuella lösningen blir.

    Tack på förhand!
    Last edited by saturday; 2011-08-15, 09:29.
    Joakim Borg
    Grafisk Formgivare
    www.jborg.se

  • #2
    Hade liknande problem för nåt år sen. Löste det genom att:

    1. Exportera databasen. Sparade den lokalt i ett utf-8 dokument. Använde en textredigerare som heter TextWrangler (lillebror till BBEdit för Mac OS X) och gjorde en search-and-replace med alla svenska tecken.

    2. Raderade webbplatsens databas och skapade en ny med samma namn/lösen, men i utf-8 general.

    3. Importerade databasen jag hade ändrat lokalt.
    Med vänlig hälsning från
    Danne
    ------
    Proformica.com Marknadsföring, webbdesign, webbhotell osv, mm..
    Sacred Skin Ny bok om Sak Yant, traditionell, spiritistisk thailändsk tatueringskonst
    Våga Vägra
    FaceBook

    Kommentera


    • #3
      har du satt:
      [kod]
      Response.CodePage = 65001
      Response.CharSet = "UTF-8"[/kod]i dina ASP filer?
      "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

      Kommentera


      • #4
        Danne V skrev: Visa inlägg
        Hade liknande problem för nåt år sen. Löste det genom att:

        1. Exportera databasen. Sparade den lokalt i ett utf-8 dokument. Använde en textredigerare som heter TextWrangler (lillebror till BBEdit för Mac OS X) och gjorde en search-and-replace med alla svenska tecken.

        2. Raderade webbplatsens databas och skapade en ny med samma namn/lösen, men i utf-8 general.

        3. Importerade databasen jag hade ändrat lokalt.
        Har prövat att backa up hela databasen som sql, öppnat den med en textredigerare (Notepad) och sökt efter ISO, men allt i databasen stod på UTF-8 så jag såg ingen anledning att importera den.
        Last edited by saturday; 2011-08-15, 09:43.
        Joakim Borg
        Grafisk Formgivare
        www.jborg.se

        Kommentera


        • #5
          Danne V skrev: Visa inlägg
          Hade liknande problem för nåt år sen. Löste det genom att:

          1. Exportera databasen. Sparade den lokalt i ett utf-8 dokument. Använde en textredigerare som heter TextWrangler (lillebror till BBEdit för Mac OS X) och gjorde en search-and-replace med alla svenska tecken.

          2. Raderade webbplatsens databas och skapade en ny med samma namn/lösen, men i utf-8 general.

          3. Importerade databasen jag hade ändrat lokalt.
          voigtann1 skrev: Visa inlägg
          har du satt:
          [kod]
          Response.CodePage = 65001
          Response.CharSet = "UTF-8"[/kod]i dina ASP filer?
          Japp prövat, men vad som händer då är att all "hårdkodad text" får "?" på konstiga tecken i stället.

          Exempel: http://www.gamestop.se/gametest.asp?id=857

          Det som står under beskrivning är från MySql. Det som inte har korrekta tecken är skrivet direkt i asp-dokumentet...
          Joakim Borg
          Grafisk Formgivare
          www.jborg.se

          Kommentera


          • #6
            saturday skrev: Visa inlägg
            Japp prövat, men vad som händer då är att all "hårdkodad text" får "?" på konstiga tecken i stället.
            Låter konstigt om du har ändrat dina ASP filer till UTF-8 och satt det i din ASP kod också så borde i alla fall de hårdkodade tecken bli rätt.
            "det går inte att lära en gammal norrlänning byta namn på irc" - gammalt kinesiskt uttryck

            Kommentera


            • #7
              voigtann1 skrev: Visa inlägg
              Låter konstigt om du har ändrat dina ASP filer till UTF-8 och satt det i din ASP kod också så borde i alla fall de hårdkodade tecken bli rätt.
              Du har rätt. Det är så himla puckat. Fast att jag ställt in utf-8 på dokumentet i Dreamweaver och sparat visar det sig att när jag öppnar dokumentet med en textredigerare så är dokumentet ändå inställt på Västerländsk encoding... Tröttsamt!

              Får öppna upp samtliga dokument i textredigeraren och spara om. Jaja, inge kul, men men, så är nog lösningen.

              Tack!
              Last edited by saturday; 2011-08-15, 10:32.
              Joakim Borg
              Grafisk Formgivare
              www.jborg.se

              Kommentera

              Working...
              X