Plocka bort alla fula tecken, icke UTF8 tecken.

Permalänk
Medlem

Plocka bort alla fula tecken, icke UTF8 tecken.

Hej!

Jag har en stor mängd text i en databas med alla möjliga beskrivningar på olika saker och på olika språk.
En javascript funktion som jag använder mig av tycker inte om konstiga tecken (icke UTF8-tecken) och rent användarmässigt fungerar det om jag bara plockar bort dessa tecken.

Kan jag på något enkelt sätt ta bort alla icke-UTF8-tecken?

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem

var bytelike= unescape(encodeURIComponent(characters));
characters= decodeURIComponent(escape(bytelike));

Visa signatur

Speldator: Ryzen 7800X3D, 64GB DDR5, RTX 5090
Server: i7-8700k, 32GB DDR4, RTX2080
Steam deck, Rog Ally + de fiesta konsoler.

Permalänk
Medlem
Skrivet av MugiMugi:

var bytelike= unescape(encodeURIComponent(characters));
characters= decodeURIComponent(escape(bytelike));

I vilket bibliotek hittar du dessa?

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem
Skrivet av ePoint:

Hej!

Jag har en stor mängd text i en databas med alla möjliga beskrivningar på olika saker och på olika språk.
En javascript funktion som jag använder mig av tycker inte om konstiga tecken (icke UTF8-tecken) och rent användarmässigt fungerar det om jag bara plockar bort dessa tecken.

Kan jag på något enkelt sätt ta bort alla icke-UTF8-tecken?

Hur menar du? UTF-8 täcker alla glyphs i världen så det finns inget kvar att ta bort.

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av Teknocide:

Hur menar du? UTF-8 täcker alla glyphs i världen så det finns inget kvar att ta bort.

Det är framförallt konstiga citat-tecken som jag kämpar med.
Därför försökte jag skriva detta: str.replace("”", "").replace("“", "");

Men när jag försöker kompilera detta med ant och eclipse så får jag detta meddelande:
"unmappable character for encoding UTF8"
Sedan pekar den på dessa tecken.

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan

Permalänk
Medlem
Skrivet av ePoint:

I vilket bibliotek hittar du dessa?

Det var javascript, vilket vart det enda du skrev på hela sidan som beskrev något språk i huvud taget.

Skrivet av ePoint:

Det är framförallt konstiga citat-tecken som jag kämpar med.
Därför försökte jag skriva detta: str.replace("”", "").replace("“", "");

Men när jag försöker kompilera detta med ant och eclipse så får jag detta meddelande:
"unmappable character for encoding UTF8"
Sedan pekar den på dessa tecken.

Dock med detta har jag förstått att du arbetar med C#.

Nu som du beskrev problemet så skriver du ungefär som du har problem med fullwidth och halfwidth UTF-8. Vad du får göra är att konventera dessa till valfrit sedan ta bort det du vill ta bort.

Du har metåden nedan att leka med och hur du använder den. 1041 står för Japan.

str = Microsoft.VisualBasic.Strings.StrConv(str, Microsoft.VisualBasic.VbStrConv.Narrow, 1041);
str = Microsoft.VisualBasic.Strings.StrConv(str, Microsoft.VisualBasic.VbStrConv.Wide, 1041);

Efter du konventerat till full eller half, beroende på vad du vill ha så ta bort alla ', Finns säkert fler ' och " i andra adress rymder jag inte känner till heller.

Edit: Eller Java och då hjälper dig detta inget.

Visa signatur

Speldator: Ryzen 7800X3D, 64GB DDR5, RTX 5090
Server: i7-8700k, 32GB DDR4, RTX2080
Steam deck, Rog Ally + de fiesta konsoler.

Permalänk
Medlem
Skrivet av ePoint:

Det är framförallt konstiga citat-tecken som jag kämpar med.
Därför försökte jag skriva detta: str.replace("”", "").replace("“", "");

Men när jag försöker kompilera detta med ant och eclipse så får jag detta meddelande:
"unmappable character for encoding UTF8"
Sedan pekar den på dessa tecken.

Jag testkompilerade precis en klass med det tecknet i. Det gick bra (det hade förövrigt varit betydligt lättare att assistera om du faktiskt sa att det var Java du arbetade med; jag antog att det var PHP likt 90 % av alla andra problem som kommer upp här i forumet)

Kvalificerad gissning på ditt problem: Du har inte satt UTF8-encoding på din källkodsfil i Eclipse

Visa signatur

Kom-pa-TI-bilitet

Permalänk
Medlem
Skrivet av MugiMugi:

Det var javascript, vilket vart det enda du skrev på hela sidan som beskrev något språk i huvud taget.

Ibland är jag bra blåst alltså. Ber så mycket om ursäkt, det är Java jag jobbar med.

Skrivet av Teknocide:

Jag testkompilerade precis en klass med det tecknet i. Det gick bra (det hade förövrigt varit betydligt lättare att assistera om du faktiskt sa att det var Java du arbetade med; jag antog att det var PHP likt 90 % av alla andra problem som kommer upp här i forumet)

Kvalificerad gissning på ditt problem: Du har inte satt UTF8-encoding på din källkodsfil i Eclipse

Så många gånger jag har gjort samma fel.. Det börjar bli oräkneligt många. Precis bytt maskin och missat ställa in utf-8 som standard.
Tack för hjälpen!

Visa signatur

"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." - Brian W. Kernighan