Kirjoittaja Aihe: salmiakkikuvioinen kysymysmerkki �  (Luettu 7600 kertaa)

0 jäsentä ja 1 Vieras katselee tätä aihetta.

juge

  • Vieras
salmiakkikuvioinen kysymysmerkki �
« : 20.02.2009 - klo:14:06 »


ongelma on windows aikana tallennetut tiedostot joiden nimissä on ääkkösiä. niiden paikalla on siis nyt susella (11.0) salmiakkikuvion (diamond) sisään laitettu kysymysmerkki (?). tiedostotyypistä riippumatta niitä ei saa auki millään ohjelmalla eikä niitä pysty edes poistamaan. Nyt (siis susella) tallennetun tekstitiedoston nimessä kyllä voi olla mitä tahansa üükkösiä ja ååkkôŝìá ja hyvin toimii.
osaisiko joku fiksumpi neuvoa missä on vika (paitsi wintoosassa:)ja mitä pitäisi tehdä?
« Viimeksi muokattu: 20.02.2009 - klo:14:46 kirjoittanut juge »

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #1 : 20.02.2009 - klo:16:53 »
Salmiakkikysymysmerkit kertovat, että nimi on koodattu Windows-1252:lla (~ Latin-1:llä), joka on 8-bittinen järjestelmä. SUSE kuten Linuxit nykyään yleisemminkin käyttää UTF-8:a, joka on vaihtelevasti 7–16-bittinen (7 bittiä riittää perinteiseen ASCIIhin eli merkkeihin A...Z, kahta tavua eli 16 bittiä käytetään muihin).

Ainakin recode-niminen ohjelma osaa muuttaa tiedostojen sisällön merkistökoodausten välillä. Tiedostonimien muunnoksessa täytynee soveltaa jotain skriptirimpsua tms.

Mutta varaudu nyt siihen, että guru poikineen tulee haukkumaan sinut ääkkösten käyttämisestä tiedostonimissä. Nämä gurut toivovat maailman jääneen pysyvästi 60-luvulle ;D
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

guest158

  • Vieras
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #2 : 20.02.2009 - klo:17:31 »
en ole guru, joten en moiti, mutt noin siinä käy, kun ei (iki)-vanhoja perussääntöjä noudateta halusta tai muusta syystä.
Osa ongelmiin on tietty MS:n 'ennenaikainen' epästandardi tapa.

Toinen saman aikakauden edelleen vaikuttava juttu on muuten, että nimet (ehkä) kantsii kirjoittaa yksisanaisiksi vaikka väliviivojen avulla.
Ai miksikö? ...vois tuo SuperOskari kysyä, vaikka käsittääkseni vanha konkari lieneekin.
No siksi, ett saa ne nimet tarvittaessa näkyviin myös komentoriviä käytettäessä...
se kun joskus voi helpottaa elämää. ...vaikka GUI:n hajotessa tai kieltäytyessä käynnistymään vaikkas vika ajurin tai reson takia.

Et se siitä vanhanaikaisesta pysähtyneisyydestä jollekin vuosikymmenelle mister (?) SuperOskar...

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #3 : 20.02.2009 - klo:18:13 »
Toinen saman aikakauden edelleen vaikuttava juttu on muuten, että nimet (ehkä) kantsii kirjoittaa yksisanaisiksi vaikka väliviivojen avulla.
Ai miksikö? ...vois tuo SuperOskari kysyä, vaikka käsittääkseni vanha konkari lieneekin.
No siksi, ett saa ne nimet tarvittaessa näkyviin myös komentoriviä käytettäessä...

Wanhojen sääntöjen noudattaminen helpottaa ehkä elämää komentorivillä, mutta totta puhuen aika vähän. Tiedostonimen välilyönti ei ole ongelma sarkaintäydentimelle, eikä se käsin nimeä kirjoittaessakaan edellytä kuin yhtä ylimääräistä takakenoa.

Mutta asiaan: guuglaamalla löytyi tieto ohjelmasta nimeltä convmv, joka lupaa nimenomaan muuntaa tiedostonimien merkkikoodausta. Katsopa, löytyykö sitä valmiina SUSEn pakettivarastoista (omalla koneellani on Kubuntu, joten en pääse tarkistamaan tähän hätään).
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa jmp

  • openSUSE Member
  • *
  • Viestejä: 4553
  • Sukupuoli: Mies
    • openSUSEa suomeksi
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #4 : 20.02.2009 - klo:18:58 »
Mutta asiaan: guuglaamalla löytyi tieto ohjelmasta nimeltä convmv, joka lupaa nimenomaan muuntaa tiedostonimien merkkikoodausta. Katsopa, löytyykö sitä valmiina SUSEn pakettivarastoista (omalla koneellani on Kubuntu, joten en pääse tarkistamaan tähän hätään).

Tuo convmv löytyy ihan perusasennuslähteestä. Vanha SUSE Linux 9.1 aikainen ohje asiasta löytyy täältä.

Taas muistin virkistämiseksi:
Pakettien etsintään ei tarvitse googlea käyttää, jos käytössä openSUSE 11.1 niin komento

Koodia: [Valitse]
/sbin/yast2 webpin_package_search

avaa pakettien etsintä-moduulin, jos taas ei openSUSEa käytössä niin sitten vaikka täältä
Ja muistakaa pitää hauskaa ;)

openSUSE Tumbleweed (x86_64)

guest728

  • Vieras
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #5 : 21.02.2009 - klo:15:12 »
Laajempi siirtyminen latin-1 (ISO-8859-1) merkistöstä UTF-8 merkistöön tapahtui Windows ja Linux puolella samoihin aikoihin. Itse törmäsin tähän muutokseen kun päivitin Suse 8.0:n Suse 9.2:een. Oletusmerkkikanta oli iloisesti vaihtunut toiseksi locale:n muuttuessa. Ennen tiedostonimien muutosta kannattaa tehdä varmuuskopio siinä järjestelmässä (esim Windows), joka ymmärtää alkuperäiset nimet tai ottaa levykuva (Clonezilla tms). "recode" komennon käyttö on yksinkertaista ja tehokasta, mutta pitää olla varma siitä mitä tekee. Alla yksinkertaistettu esimerkki tiedostonimien muutoksesta yhdessä hakemistossa (don't do this at production system - you have been warned)

Koodia: [Valitse]
~/test> cat rename.sh
#!/bin/bash
# hro, 2008-05-13, 2009-02-21
for fin in *.*
        do (
        fout=$(echo $fin | recode ISO-8859-1..)
        if [ "$fout" == "$fin" ]
                then
                        continue;
                fi
        mv "$fin" "$fout"
        ) done
# end of script
~/test> ls *.txt
12 4.txt  aaa.txt  ???.txt  ???.txt
~/test> rename.sh
~/test> ls *.txt
12 4.txt  aaa.txt  ÄÖÜ.txt  öäå.txt
~/test>

Välilyöntejä sisältävien tiedosto/polkunimien käsittelyyn voi käyttää lainausmerkkejä (ihan kuin Windows puolella). Komentotulkin ohjelmissa lainausmerkkien käyttö muuttujien ympärillä voi aluksi tuntua oudolta, mutta kaikkeen tottuu.

Pitänee itse tutustua convmv komentoon.

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #6 : 21.02.2009 - klo:16:12 »
Laajempi siirtyminen latin-1 (ISO-8859-1) merkistöstä UTF-8 merkistöön tapahtui Windows ja Linux puolella samoihin aikoihin.

Tarkalleen ottaen Windowsissa ei käytetä UTF-8:a vaan UTF-16:ta. ”Samoihin aikoihin” taas on suhteellisen joustava käsite, minkä huomaa siitä, että vieläkin näitä vaikeuksia vain on :)
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

juge

  • Vieras
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #7 : 21.02.2009 - klo:21:34 »
no niin. loistavaa. tosiaan tolla convmv:lla (joka tosiaan löyty suoraan sieltä varastosta) käänsin koko kovalevyn kopipastella  http://linux.fi/wiki/Convmv ohjeiden mukaan ja hyvin pelittää.
kiitos paljon avusta.

Poissa Rantarosvo

  • Jäsen
  • Viestejä: 1111
  • Sukupuoli: Mies
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #8 : 22.02.2009 - klo:18:46 »
Mites salmiakit poistetaan html koodista ja php scriptistä. Ne ei oo nimissä vaan ite tekstissä ja aiheuttavat ääkkösten kanssa valmiissa sivussa hillittömästi ylimääräsiä merkkejä.

Kate on käytössä noitten koodien käsittelyssä.
Rosmo

"windows ajeluttaa sinua ympäriinsä; Linux antaa sinulle avaimet ja laittaa sinut kuskin istuimelle. On oma ongelmasi, jos et osaa ajaa."

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #9 : 22.02.2009 - klo:19:20 »
Mites salmiakit poistetaan html koodista ja php scriptistä. Ne ei oo nimissä vaan ite tekstissä ja aiheuttavat ääkkösten kanssa valmiissa sivussa hillittömästi ylimääräsiä merkkejä.

Siihen käytetään ohjelmaa nimeltä recode (jota itse asiassa hro:n skripti tuolla yläpuolellakin käytti).

Muista kuitenkin konffata sitten WWW-serveri lähettämään oikeat merkistökoodaukset, tai kirjoita ainakin oikeanlaiset meta-attribuutit HTML-tiedostoihin.
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa Rantarosvo

  • Jäsen
  • Viestejä: 1111
  • Sukupuoli: Mies
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #10 : 23.02.2009 - klo:12:55 »
Tää ei nyt oikeen avaudu miulle. Eli jos miulla on omassa kotikansiossa tiedosto.

merkitpersiillaan.html

lomakekasittely.php

niin miten mie ne käyn läpi. Tänään(kin) on pääkopan jumetuspäivä, joten semmonen rautalanka ohje ois tarpeeseen  :P
Rosmo

"windows ajeluttaa sinua ympäriinsä; Linux antaa sinulle avaimet ja laittaa sinut kuskin istuimelle. On oma ongelmasi, jos et osaa ajaa."

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #11 : 23.02.2009 - klo:15:13 »
Eli jos miulla on omassa kotikansiossa tiedosto.

merkitpersiillaan.html

lomakekasittely.php

niin miten mie ne käyn läpi.

Ensin sinun on asennettava recode, jollei sitä ole jo asennettu. Tähän en anna tarkempaa ohjetta, koska en pääse juuri nyt SUSE-koneelle sitä testaamaan.

Kun ohjelma on käytösssäsi: Avaa pääte, siirry hakemistoon, jossa nuo tiedostot ovat, ja anna komento:

Koodia: [Valitse]
recode CP1252..UTF-8 *
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11

Poissa Rantarosvo

  • Jäsen
  • Viestejä: 1111
  • Sukupuoli: Mies
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #12 : 24.02.2009 - klo:12:22 »
Juu, on recode asennettuna ja tein edellä olevan ohjeen mukaan. Alla lopputulos. Tosta suluissa olevasta (kuvat) jutusta en kyllä jummarra mitään, koska ei se sijainti oo kuvien kanssa missään tekemisissä. Mitä lie tarkottaa.
Kyseinen kommentti on ruudulla jo melkein ennen ko entteriä kerkee painaa. Eli ei ainakaan mietiskele lopputulosta.

Koodia: [Valitse]
recode: fopen (kuvat): On hakemisto
Rosmo

"windows ajeluttaa sinua ympäriinsä; Linux antaa sinulle avaimet ja laittaa sinut kuskin istuimelle. On oma ongelmasi, jos et osaa ajaa."

Poissa SuperOscar

  • Käännösryhmä
  • *
  • Viestejä: 944
  • Sukupuoli: Mies
  • Tänään täällä, huomenna poissa
    • Legisign.org
Vs: salmiakkikuvioinen kysymysmerkki �
« Vastaus #13 : 24.02.2009 - klo:15:19 »
Sitähän tuo vain tarkoittaa, että kun ”*” lavennetaan kaikiksi tiedostoiksi, joukossa on hakemistojakin. Ilmeisesti recode ei sitten ohita niitä vaan rupeaa nutisemaan.

Tarvitaan mutkikkaampi loitsu (tai täsmällisempi jokeri, mutta kun en tiedä tiedostojesi nimiä, mennään tällä):

Koodia: [Valitse]
find . -type f -print0 | xargs -0 recode CP1252..UTF-8
Tuollaisena tuo käsittelee paitsi nykyisen hakemiston myös kaikki alihakemistot. Jos haluat käsitellä vain nykyisen hakemiston, lisää -maxdepth-valitsin:

Koodia: [Valitse]
find . -maxdepth 1 -type f -print0 | xargs -0 recode CP1252..UTF-8
pöytäkone 1, NUC: openSUSE Leap 15.6; kannettavat 1–3: Debian GNU/Linux 12; pöytäkone 2: openSUSE Tumbleweed; RPi 1: FreeBSD 14-RELEASE; RPi 2: LibreELEC 11