• 1
  • 2
2013-11-15, 19:50
  #1
Medlem
Jag är riktig nybörjare på det här och det kan säkert vara ett jättelätt fel att åtgärda.

Det jag försöker göra är att söka i ett textdokument, men terminalen verkar inte känna igen åäö. Den hittar inte orden jag skriver om det är åäö i och söker jag på något utan åäö så tar den med matchande ord som dessutom kan innehålla åäö. Terminalen är inställd på UTF-8 och textdokumentet visar ju åäö som det ska, och utöver det har jag ingen aning om var jag ska leta...

Kommandot jag skriver är "grep 'för' textfil.txt". Skriver jag "grep 'till' textfil.txt" funkar det precis som jag vill.

Jag har installerat Ubuntu 12.04 i VirtualBox.
Citera
2013-11-15, 20:07
  #2
Medlem
Prova
Kod:
export LC_ALL=en_US.UTF-8
och försök igen.
Citera
2013-11-15, 20:24
  #3
Medlem
Hjälpte inte
Citera
2013-11-15, 22:09
  #4
Medlem
Det var tråkigt. Är du helt säker på att filen är utf-8? Om det är mycket viktigt för dig med en modern teckenuppsättning kan jag annars bara rekommendera plan9: http://swtch.com/plan9port/

Det var ju där utf-8 uppfanns en gång i tiden, så i det avseendet är det som hittat.
Citera
2013-11-15, 22:14
  #5
Medlem
Citat:
Ursprungligen postat av Katalysator
Är du helt säker på att filen är utf-8?
Nja, jag vet inte riktigt hur jag kollar det? Allt jag vet är att åäö visas korrekt när jag öppnar filen...
Citera
2013-11-15, 22:31
  #6
Medlem
Jag förmodar att du har någon texteditor i ubuntu, där du kan öppna filen och välja teckenuppsättning när du sparar den. Du kan också pröva
Kod:
file -i filen.txt
och se vad den säger.
Citera
2013-11-15, 22:33
  #7
Moderator
tobess avatar
Finns det någon anledning till att du ska göra det i just terminalen då?

Annars kan du ju bara starta t.ex. gedit och söka där?
Citera
2013-11-15, 23:17
  #8
Moderator
vhes avatar
Citat:
Ursprungligen postat av Katalysator
Det var tråkigt. Är du helt säker på att filen är utf-8? Om det är mycket viktigt för dig med en modern teckenuppsättning kan jag annars bara rekommendera plan9: http://swtch.com/plan9port/

Det var ju där utf-8 uppfanns en gång i tiden, så i det avseendet är det som hittat.

Nä. Nu jiddrar du. Nog för att det var Ken som designade utf-8 - och att plan9 råkar vara alla bra ideers moder de senaste 20 åren - men inte fan är det något större fel på utf-8-stödet i linux.

Problemet är med all sannolikhet att filen inte är utf-8 (troligen latin-1 eller windows-1252). Ingen anledning att blanda in plan9port i det hela.
Citera
2013-11-16, 12:39
  #9
Medlem
Citat:
Ursprungligen postat av tobes
Finns det någon anledning till att du ska göra det i just terminalen då?
Det är en skoluppgift, så ja tyvärr
Citera
2013-11-17, 20:20
  #10
Medlem
xcb567s avatar
Citat:
Ursprungligen postat av Katalysator
Prova
Kod:
export LC_ALL=en_US.UTF-8
och försök igen.
För svenska är nog sv_SE eller sv_SE.UTF-8 bättre

Citat:
Ursprungligen postat av Toffeldjuret
Hjälpte inte
Oftast räcker det att exportera LANG (mer ang env som påverkar här) och helt ignorera LC_*

Edit: locale -a listar alla alternativ som är installerade
__________________
Senast redigerad av xcb567 2013-11-17 kl. 20:24. Anledning: Tillägg
Citera
2013-11-18, 20:28
  #11
Medlem
Gurka___s avatar
Du kan köra detta skript för att ta reda på om du har fullt stöd för UTF-8 (environment, terminal, osv). http://pastebin.com/k5RS8u2G

Citat:
$ wget -O localecheck http://pastebin.com/raw.php?i=k5RS8u2G
$ chmod +x localecheck
$ ./localecheck

Exempel på output om allting är som det ska:
Citat:
* Parent: 4548 sshd: gurka [priv]
* Terminal: 4553 sshd: gurka@pts/0
* Shell: 4554 -bash

warning: I cannot check your terminal's settings over SSH, skipping.
notice: Also skipping term=parent checks.

Looks good, but you still need to check your terminal: --> ★ <--
* a star -- font and terminal are okay.
* 3 question marks -- your terminal does not correctly interpret UTF-8.
* a box or rectangle -- UTF-8 works fine, but you need a better font.
* empty area -- you really need a better font or something.

Exempel på output om man t.ex sätter LANG till en_US istället för en_US.UTF-8:
Citat:
* Parent: 5295 sshd: gurka [priv]
* Terminal: 5300 sshd: gurka@pts/0
* Shell: 5301 -bash

warning: I cannot check your terminal's settings over SSH, skipping.
notice: Also skipping term=parent checks.
warning: (shell) LANG: non-UTF8 locale "en_US"

problem: Your current locale is using a legacy charset.
* The incorrect variables are:
- (shell) LANG (currently "en_US")
* Change your locales to their UTF-8 variants.

1 problems found. Here's a quick UTF-8 test for you: --> ★ <--
* a star -- font and terminal are okay.
* 3 question marks -- your terminal does not correctly interpret UTF-8.
* a box or rectangle -- UTF-8 works fine, but you need a better font.
* empty area -- you really need a better font or something.
__________________
Senast redigerad av Gurka___ 2013-11-18 kl. 20:34.
Citera
2013-11-21, 00:45
  #12
Medlem
Tyvärr blev det tyst här i tråden. Om inte Toffeldjuret kan rapportera tillbaka, så skulle det ändå vara intressant att veta om någon annan linuxanvändare faktiskt kan reproducera det önskade beteendet m.h.a. klassiska unixkommandon. Går det att använda annat än ascii på linux utan att överanstränga sig?
Citera
  • 1
  • 2

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in