Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Ongelmia ääkkösissä kantaan ajettaessa

Sivun loppuun

Rocceri [22.07.2009 12:03:12]

#

Hei,

Kun aloittelin MySQL:n opettelemista, niin tein tuollaista verkkokauppaa.
Nyt tein eilen 20 minuutissa saman, mitä joskus tuhersin 2 päivää enkä silti saanut valmiiksi, mutta silloin oli yksi hyvä puoli: Pystyin ajamaan ääkköset kantaan sellaisinaan, mutta nyt se ei onnistu. Pitää käyttää näitä ä jne. merkintöjä ääkkösiin, kun lisään "kauppa" -osioon tavaraa. Kun kauppaan myy tavaraa, niin ääkköset saa ajettua sellaisenaan kantaan, ja ne toimivat! Sivut ovat koodattu UTF-8:ksi, mutta kannasta en tiedä mitä se on. Huomasin, että muutkin sivut vaativat nuo erikoismerkinnät ääkkösille koodatessani kahdella koneella. Nämä koneet kyllä kirjoittavat ihan samalla charesetillä, UTF-8 without BOM:lla. Osaisikos joku kertoa miten saisin ääkköset kantaan, ja myös sivuille oikein?

B_R_H [22.07.2009 12:21:26]

#

MySQL:llään kun tunnen heikosti, mutta eikös siellä ole omat funktiot noiden skandien käsittelyyn?

Jos koodaat php:llä, niin lähtisin hakemaan php:stä: htmlspecialchars ja htmlentities funktioilla.

Rocceri [22.07.2009 12:24:22]

#

B_R_H kirjoitti:

Jos koodaat php:llä, niin lähtisin hakemaan php:stä: htmlspecialchars ja htmlentities funktioilla.

Miten nämä liittyvät tähän? Jos en täysin väärin ole käsittänyt, niin näillä estetään HTML merkkaus.

B_R_H [22.07.2009 12:29:36]

#

Yeps lienet oikeassa. Taisin kokemattomuuttani sekeittaa pari asiaa - sorry!

Rocceri [22.07.2009 15:29:38]

#

Toinenkin ongelma ilmeni, että kun tavaroita koittaa ostaa, niin tavaran nimi lähetetään osoitteen mukana, jossa ääkköset ovat selkokielenä. Kun tätä ja kannassa olevaa verrataan, niin kysely palauttaa falsen. Eli, miten saisin kannassa ääkköset kuntoon?

Rocceri [22.07.2009 16:43:15]

#

Tulikin ratkaistua erään vanhan aiheen perusteella.


EDIT: Sellainen juttu vielä, että jos ei ole tarpeeksi rahaa tuotteeseen, niin tuote on vedetty yli. Miten saan ainoastaan viivan värin muutettua? 'color: red' toimii linjan väriksi, mutta se muuttaa myös tekstin värin :(

lrp [22.07.2009 20:45:30]

#

Onko php-sovellus?
Tässä on pari tapaa asettaa mysql-merkistö php:lla. Olisko apua. Itselleni ei. Vaikka saan tällaisen tulostuksen:

SHOW VARIABLES LIKE 'character\_set_%'

Tulostaa näin

Variable_name                  Value
character_set_client          latin1
character_set_connection     latin1
character_set_database          latin1
character_set_filesystem     binary
character_set_results          latin1
character_set_server          latin1
character_set_system          utf8
character_sets_dir          /usr/share/mysql/charsets/
<?php
      $$link = mysql_connect($server, $username, $password);
    //alla kokeiluja mysql-merkistön kanssa kokeilu 1 kerrallaan
    mysql_set_charset('latin1',$$link);
    mysql_query("SET CHARACTER SET latin1");
    $charset = mysql_client_encoding($$link);
    mysql_query("SET NAMES 'latin1'");
echo "The current character set is: $charset\n";
?>

Itselläni on sellainen vaiva, että ääkköset näkyy kyllä sovelluksessa oikein, mutta ei kantaa katsellessa phpmyadminilla tai päätteessä.

Chiman [22.07.2009 21:49:29]

#

lrp kirjoitti:

Itselläni on sellainen vaiva, että ääkköset näkyy kyllä sovelluksessa oikein, mutta ei kantaa katsellessa phpmyadminilla tai päätteessä.

Oletko kokeillut antaa päätteessä charsettiä yhteyttä varten? Esim.

$ mysql --default-character-set=latin1 -u kayttaja -p kanta

lrp [22.07.2009 22:11:36]

#

En. enkä onnistu ton rivin kanssa...
$ $ mysql --default-character-set=latin1 -u root -p
bash: $: command not found

Toi show variables näyttää kuitenkin character_set_client latin1

Kun katselee phpmyadminilla dumppia niin siellä komeilee hienot ääkköset. Ja joka taulun DEFAULT CHARSET=latin1

Chiman [22.07.2009 22:29:37]

#

Siis ei sitä $:ää pidä kirjoittaa, se oli vain tarkoitettu näyttämään että kirjoitat komentokehotteeseen.

lrp [22.07.2009 22:44:12]

#

hups...
Nyt näkyy phpmyadminissa äät ja ööt.
Päätteessä edelleen kysymysmerkkiä salmiakkipohjalla.

Metabolix [22.07.2009 23:35:56]

#

lrp kirjoitti:

Päätteessä edelleen kysymysmerkkiä salmiakkipohjalla.

Toisin sanoen päätteesi käyttää UTF-8:a mutta MySQL latin1:tä. Käske siis MySQL:n tuossa tilanteessa kommunikoida UTF-8:lla.

Rocceri [23.07.2009 11:58:50]

#

Noniin, yksi kysymys. Onko olemassa joku INT tyypin kaltainen numeroille tarkoitettu tyyppi, joka olisi pituusarvoiltaan suurempi?

Metabolix [23.07.2009 12:09:06]

#

Parikin, nimittäin BIGINT, joka on 64-bittinen, ja DECIMAL, johon voi tallentaa myös kokonaislukuja ja joka manuaalin mukaan pystyy 65 numeroon.

Rocceri [23.07.2009 12:16:40]

#

Kiitos.

pistemies [23.07.2009 12:57:19]

#

Itse olen tehnyt ääkkös jutun näin:
Tallennan kantaan UTF-8 muodossa.
Kun sieltä tulostetaan, muutetaan se tarpeen mukaan eri muotoon, esim. lomakkeen textareaan tulostan kannassa olevat normaalina ääkkösinä ja tallentaessa vaihdan ne UTF-8:aan.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta