Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Skandit pois käyttäjätunnuksista

Sivun loppuun

Freekkari [22.09.2007 17:11:29]

#

Minkälaisella pienellä phpskriptillä sais helpoiten otettua pois käytöstä rekisteröinnin yhteydessä skandit..?

Ongelmani on sellainen että olen modaillut yhden ohjelmiston joka käyttää normaalisti iso-8859-15 koodausta. Tuon ohjelmiston yhteyteen olen myös modaillut phpbb foorumin joka käyttää käsittääkseni vakiona myös utf-8 koodausta sekä lisäksi olen modaillut mukaan vielä flashchatin joka käyttää utf-8 koodausta.

Rekisteröinti tapahtuu tuon pääsivun kautta joka käyttää siis iso-8859-15 koodausta. Tutkiskenlin tuon flashchatin tukifoorumia ja siellä oli keskustelua siitä että jos pääsivuston koodaus ei ole utf-8 koodaukseen pohjautuva niin kirjautuminen chattiin ei toimi oikein.

Itse olen aika aloittelija php koodauksen suhteen mutta copy pastaamalla olen saanut kyllä kaikki modaukset yleensä toimimaan oikein. Nyt on vaan sellainen ongelma että en oikein ole varma kuinka saisin tuon pääsivuston tietokannan toimimaan utf-8 muodossa..+ että saisin ko sivuston kielifilun käännettyä jollain tapaa utf.8 muotoon niin ajattelin kokeilla tehdä oikopolun eli estämällä skandit käyttäjätunnuksesta rekisteröinnin yhteydessä. <-- Tuo ainakin näyttänyt toimivan testieni mukaan eli kirjautuminen myös chattiin on pelittänyt kun tunnuksessa ei ole ollut äåö kirjaimia.

Nyt ois sit kysymyksenä se et kuinka sais tehtyä sellaisen skriptin joka ei anna laittaa käyttäjätunnukseen skandimerkkejä...??
Tai onko olemassa mitään keinoa esim editoria yms jolla tehdä normaalista kielitiedostosta utf-8 versio..?

Vasta_alkaja [22.09.2007 18:07:46]

#

https://www.php.net/str_replace

Freekkari [22.09.2007 22:14:00]

#

ja mitenhän tota sovelletaan käytännössä..?

punppis [23.09.2007 00:19:51]

#

<?php
	$skanditunnus = "mäoäräo";
	$skanditpois = str_replace("ä", "", $skanditunnus); //korvattava, tällä korvataan, teksti
	echo $skanditpois; // tulostaa "moro"
?>

Freekkari [23.09.2007 02:47:21]

#

Hmnn..toi tarvis saada toimimaan rekisteröitymissivulle vain yhteen määrättyyn kohtaan eli käyttäjätunnus kenttään..muihin kenttiin sais laittaa ihan normaalisti skandeja koska ne ei vaikuta muuhun toimintaan..!?
Oisko mitenkään mahdollista tehdä sellasta yhdistelmäskriptiä joka varoittasi kuten javaskript....et tunnuksessa on kiellettyjä merkkejä ja se ei huolis lomakkeen kenttää ennen kuin siinä ois vain sallituja merkkejä..? Tuota ei voi oikein suoraan hoitaa pelkällä javaskriptillä koska se saattaa olla pois kytkettynä selaajalta joten toi pitäis pystyä hoitamaan sit jollain toisella tavalla mut kuitenkin varmasti loppuun asti....

Sit viel kyssäri tosta utf-8 koodauksesta.. onko olemassa mitään hyvää ilmaiseditoria joka muuntais valmiin tiedoston utf-8 muotoon..? Itse käytän editpad pron ilmaisversioo mutta ainakaan mun mielestä se ei käännä puhtaaseen utf-8 muotoon tekstejä..

Vasta_alkaja [23.09.2007 10:34:35]

#

http://www.uta.fi/~jl/javascript/luennot/tarkistus.html

jgz [23.09.2007 10:42:09]

#

Freekkari voit tarkastaa PHP:llä esimerkiksi preg_match funktiolla, säännöllisiä lausekkeita käyttäen, sisältääkö se käyttäjätunnuskenttä skandeja. Tässä on sinulle esimerkki. En ole täysin varma toimiiko, enkä jaksa testata. Tuon esimerkin siis pitäisi hyväksyä kaikki käyttäjänimet, joissa on vain kirjaimia (ei skandeja) ja numeroita.

<?php
if(preg_match("/^[a-zA-Z0-9]+$/", $username))
	echo "käyttäjänimi ok";
else
	echo "käyttäjänimi sisältää kiellettyjä merkkejä";
?>

Merri [23.09.2007 13:11:55]

#

Njaa-a, eikös sen ISO-8859-15 -ohjelmiston kuitenkin saa vaihdettua UTF-8:aan, niin että sivut syötetään sillä? Lähinnähän tarvetta on vaan vaihtaa kaikki viittaukset toisiksi. Jos lähdekoodissa on erikoismerkkejä käytetty (tässä tapauksessa tarkoittaen merkkejä välillä 128 - 255, jotka on UTF-8:ssa eri käytössä kuin ISO-8859-15:ssä), niin sitten tarvitsee vielä muuntaa tiedostot merkistökoodauksesta toiseen. Ja sivut toimivat ilman tätä muunnostakin. Se ei ole mahdottoman vaikea toimenpide verrattuna siihen, että alkaa tehdä purkkapaikkoja estääkseen 65408 merkin käytön (josta voi tulla muita ongelmia myöhemmin).

Minullahan siis pyörii parikin phpBB2:sta UTF-8:lla, joka on normaalisti ISO-8859-1 -pohjainen. Vaikein homma oli valmiiden tietokantojen muuntaminen, eikä sekään mahdotonta lopulta ollut.

Tässä tapauksesssa minä näen siirtymisessä pelkän UTF-8:n käyttöön vain plussia: toteutus todennäköisesti suht vaivatonta ja käyttäjät saavat käyttää mitä merkkejä haluavat.

Freekkari [23.09.2007 15:12:46]

#

Onks olemassa mitään ilmaiseditoria jolla kielitiedoston saisi käännettyä utf-8 muotoon..? Sit vois alkaa kokeileen noiden kantojen muuntoa yms..

Merri [23.09.2007 15:29:41]

#

Jos et muuta keksi, niin PHP:lla voit värkätä tiedosto- ja tietokantamuuntajan pistämällä ihan vaan utf8_encode:sta datat läpi.

Windowsissa käytän SciTe:ä, josta löytyy File-valikon kautta vaihtoehto UTF-8 Cookie (koska BoM:ia ei tahdota tiedoston alkuun sotkemaan asioita).

Monipuolisempiakin tekstieditoreja varmasti löytyy, joissa on monen tiedoston konvertteri mukana jne.

Freekkari [23.09.2007 16:06:05]

#

Merri kirjoitti:

Jos et muuta keksi, niin PHP:lla voit värkätä tiedosto- ja tietokantamuuntajan pistämällä ihan vaan utf8_encode:sta datat läpi.

Eli ko homma tapahtuu käytännössä miten..?

Blaze [23.09.2007 16:17:33]

#

Muistelinki tehneeni tollasen joskus: https://www.ohjelmointiputka.net/koodivinkit/24674-php-utf-8-enkoodaaja

Freekkari [23.09.2007 19:36:46]

#

Hmnn.. heitäs merri jonkinlainen työjärjestys ja tärkeimmät pointit mitä tulee ottaa huomioon kun hommaa alkaa tekemään kun kerta oot moisen joskus itse aikaisemmin tehnyt..!?
Itse ei ole moista aikasemmin tarvinnut tehdä niin kynnys on aika korkea lähteä silppuamaan jo jollain tapaa toimiva kokonaisuus.

Lebe80 [23.09.2007 20:32:56]

#

Freekkari: Pitäisikös sinun opetella hieman ohjelmoinnin alkeita, niin noiden vinkkien soveltaminen käytännössä onnistuisi hieman helpommin?

Freekkari [23.09.2007 20:56:29]

#

Varmaan joo..olen pystytellyt kymmeniä opensource php ja tietokantoihin pohjautuvia sivustoja ja modaillut ja yhdistellyt niitä keskenään yms..mutta yhtäkään sivuston koodausta ei ole vielä tähän päivään menessä tarvinut kääntää toiseen. Siksi siis täällä apuja kyselen.

Tämän viimesimmän projektin kanssa on mennyt aikaa hiukan enemmän koska olen tehnyt siihen samalla myös suomennoksen kielitiedostoón ja modaillut sen omaan käyttööni sopivaksi. Ainut lisäkikkare joka tuossa on prakannut on ollut tuo ääkkösongelma flaschatin suhteen. Se mikä asiassa vituttaa on se että flashchatin suunnitelija on suunitellut myös sen toisen ohjelmiston mutta käyttämään kuitenkin eri kielikoodausta. Ohjelmistot oli shut helppoja yhdistää keskenään toimimaan mutta koska jenkkikielessä ei ole ääkkösiä niin se ontuu sitten ainakin meillä muilla jotka joutuvat käyttämään skandeja. Samasta asiasta oli kyllä jo pari muutakin pohjoismaalaista antanut palautetta että miksi moista monikielisyys asiaa ole otettu ajemmin huomioon tuon utf-8 koodauksen suhteen... mutta koska näillä mennään niin joudun tuon koodauksen kikkailemaan itse jotenkin jos haluan saada ääkköset pelaamaan myös chatissa..

Merri [24.09.2007 04:37:39]

#

Tiedostojen muuntaminen ei ole vaikeaa, minimivaivalla tehtynä näin:
* Selvitä tiedostot joissa lukee ISO-8859-15 (hyvin tehdyssä systeemissä yhdessä tiedostossa)
* Korvaa tämä tieto UTF-8:ksi
* Katsele sivuja, paikanna merkkejä jotka näkyvät kysymysmerkkeinä tai laatikoina.
* Paikanna vastaavat tiedostot, muunna kyseiset tiedostot UTF-8:ksi.
* Hyvässä lykyssä sinun ei tarvitse tehdä ainoallekaan tiedostolle mitään.

Tietokannan muuntamisen voi suorittaa useammalla tavalla, joskin joitakin rajoituksia voi asettaa tietokantataulujen toteutus. Kunhan tietokannat saa varmuuskopioitua niin että kaikki merkit ovat suoraan luettavassa muodossa, niin ongelmia ei ole (ongelmallisia ovat esimerkiksi binäärikentät, joissa säilötään merkkidataa: tällöin nämä eivät näy sellaisenaan dumpatussa tietokannassa).

Tietokannan kopion saa ulos kannasta helposti esimerkiksi phpMyAdminilla. Toinen vaihtoehto on mysqldump, joskin se on aavistuksen vaikeampi.

Tee kopioidusta kannasta toinen kopio, johon teet muutokset. Aja tiedosto sitten UTF-8 enkoodaajan lävitse. Sen jälkeen tietokanta tarvitsee palauttaa: jos kanta on iso, joudut miettimään hieman tarkemmin miten palautus toteutetaan. Vaihtoehto 1 on FTP:llä laittaa sql-tiedosto palvelimelle ja ottaa shelliyhteys vaikka Puttyllä, ja sitten komentorivillä käskeä MySQL lisäämään tiedot kantaan (samalla voi myös antaa tiedon merkistökoodauksesta, jolla voi olla merkitystä).

Vaihtoehto 2 on käyttää esimerkiksi bigdumpia, jonka löytää helposti Googlella. Sitä voi käyttää selaimella, siinä itsessään tulee mukana käyttöohjeet (ei ole kovin monimutkainen).


Jos merkistökoodaus menee väärin tästä huolimatta (on edelleen ISO-8859-15 tai on mennyt syystä tai toisesta tupla-UTF-8:ksi).

Tietokantatiedostoissa tosin on mielenkiintoista se, että usein UTF-8 on dumpattuna tuplaenkoodattua. Tämä johtuu ilmeisesti MySQL:n erikoismerkkien kanssa tapahtuvasta "yhteentörmäyksestä", mikä voidaan välttää tuplakoodauksella. Toinen vaihtoehto tälle on se, että tietokantaa ei ole varsinaisesti säädetty UTF-8:aa varten: en ole sen tarkemmin tutkinut miten eri asetukset tämän suhteen toimivat, webhotellipakettien ja niillä tapahtuneiden siirtojen kautta kun olen kokemukseni saanut. Miten päin tahansa, ongelmat tämän suhteen ovat yleensä kuitenkin suht yksinkertaisia ratkaista.


Joten step-by-step:
* Selvitä tietokantataulut jotka tarvitsee muuntaa.
* Dumppaa käyttäen phpMyAdminia tai mysqldumpia.
* Muunna tiedosto UTF-8:aan.
* Palauta tietokanta käyttäen FTP/Shell -yhdistelmää tai bigdumpia (pienet kannat onnistuvat myös phpMyAdminissa).
* Katso lopputulosta.
* Jos jotain on vieläkin väärin, niin joko käytät alkuperäistä kopiota (jos näet tuplaenkoodauksen) tai vedät tiedoston toistamiseen UTF-8 enkoodauksen läpi (jos näet kysymysmerkkejä/neliöitä).

Se on aina vaikeaa se ensimmäinen kerta, minulla on ollut oikein kivaa selvitellessä miten voin muuntaa MediaWikin ja phpBB2:n tietokantoja. Onneksi nyt on tullut phpBB3 joka käyttää UTF-8:aa ja MediaWikin saa samoin ainoastaan UTF-8:na. Niiden osalta asiat sitten helpompia vastaisuudessa.

Freekkari [25.09.2007 02:43:14]

#

Hmnn..koska pääohjelmiston lisäksi myös phpbb foorumi käyttää iso-8859-15 koodausta joudun kääntämään myös ilmeisesti senkin taulut koska seuraava törmäsys tulisi juuri sen kohdalla yhteensopimattomuusdesta koska foorumi on yhdistetty tuon pääohjelmiston kanssa toimimaan siten että foorumiin ei voi kirjautua tai rekisteröityä tai sen keskusteluja ei saa edes näkyviin ilman että kirjautumistoimitus tehdään pääsivuston kautta.

Aloin testailemaan tuota step by step hommaa..

Nappasin orginaalista kannasta kopion ja nimesin eri nimellä..kaikki ohjelmiston osat käyttävät samaa kantaa..valitsin kaikki taulut ja sitten kokeilin muuttaa phpmyadmin "toiminnot" valinnalla kannan utf-8 muotoon.. sain näkyviini onnistuneen sql kyselyn..

SQL-kysely suoritettu onnistuneesti
SQL-kysely:

ALTER DATABASE `######_tk` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

tuloksesta en ole varma koska ainakin koneelle kopioituna ja editorissa avttuna tumppivedos näyttää täysin heprealta kts koodia sivun alareunassa..

Nyt eniten kiinnostaisi tietää se mihin utf-8 versioon tuo kanta tarvis ensinäkin muuntaa..phpmyadminissa näyttäis olevan aika liuta noita utf-8 vaihtoehtoja..kts.kuva

http://www.newface2005.net/koodimuunnos/phpmyadmin.JPG

Phpmyadminissa näymä tällä hetkellä kirjauduttaessa sisään on tällainen

MySQL:n merkistö: UTF-8 Unicode (utf8)
MySQL-yhteyden aakkosjärjestys: utf8_unicode_ci
tosin kun katsoo mitä tahansa tietokantataulua rakenteeltaan näkyy akkosjärjestyksenä latin1_swedish_ci eli ilmeisesti kaikki kannan taulut ovat edelleen latin muodossa..!?
Myös tämä kopioitu ja muka muutettu kanta näyttää akkosjärjestyksenä latin1_swedish_ci ???

Tarvisko noi kaikki taulut vielä erikseen muuntaa yksitellen selaamalla aakkosjärjestys utf8_unicode_ci järjestykseksi..?

Yritin tehdä myös uuden tyhjän kannan käyttäen..

Virhe
SQL-kysely:

CREATE DATABASE `######_muunnos` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

MySQL ilmoittaa:

#1044 - Access denied for user '######'@'localhost' to database '######_muunnos'

Pätkä kannan tumpista kopsattua tekstiä..onks toi nyt sit utf muodossa vai nou..?

“�˜(ï0æ€ùÃD^‡M;çø�{Ø�lö	6�c¸2ˆìŠªa›;@� Ü�¤qÐ!;�7ê���²w³7oÇ/ ���1s
ÆA‡ìÅìEØòk�† A‡,©ÜL÷qÐ!�Á^U-?i}Ð�· 6��tÈã1áþqÐ!n 3“p�tˆcË^,?Uo ˆí˜��ƒOÃ<Â�����q sáÆA�ùª�X971k�tˆKÈMÃ�ýâCœ\®' ©�ð:ˆ¼ä™ºc‰¾ä=�á?&ŠlñlÅ r½pâ=ažiYb>áJœ¸O˜g Z–ØO¦|Ÿ/J€xÕoÊ ë\ÖÍGø�ß¿g ?¤��@g¸]¬» 7‹’ßó�¦í¦�Ý-š�¶�Ø�µá ¦_vͧŒ½Í‰HŸ‰½j�­ðçÍ�ß ¿¸Þ¤�¼JT‰ò#ìŠôæyY¼Ù¼}øÝ?ý üýó'?ÿ¨�«G7ßü=½âû/ôèý õ‡�‹÷0,VOþóՏ¯¿��R�þôÅ« ?KQqH�o+ï�óÚÑÝd ]r�@Ïžw‹Ù�ÿ�E¬f³n]æsøÇ ,Á?Ó|žªÙö*¥Í¿| wÛî �77c¹õÙÓU7Ÿc“œjÖ Í—©Ã. `w«.qo9�˜ŸýÒw³¾ºêà 	×�R¤.Êzƒÿ=g?¦ �i�Ξm/—]µ.ÛUJØe�¾ x�cÄ�0ÚRªwi3 ëûÅyeÅãùv¶­�]¥uÁÖóóôU u•ºêåõl}]=‚‡+ôKö à "€Ë�h��rçÃô‹j™ð {_^_/�Ý�_Y¤9¼’à	Ay eñïÕË®ƒ7�jÅ×AøÝ b�FäÍ�à�pÑ­»M5/o3¼Ÿ ûœx\‡§�g?.@��Y¥¶í6� |`™“"Ö�Xh—ËfÃÖ1²p‘Q >+ƒR«çÝz]½Üö—]% |Å~V<˜Å�ôì�J�ys½Ù üñ/p8ÐMÙnA

Vaihdoin sivuston kielitiedoston koodauksen utf-8 merkinnäks ja latasin kielitiedoston sivustoon ja päivitin sivun..tuloksena chatissa jossa utf-8 koodaus vakiona ei näyttänyt ääkkösiä vaan ä kirjaimen sijaan näkyi neliö tai kysymysmerkki..ja lauseen lyhenivät kuten esim sana Ei jäseniä paikalla näkyi näin: Ei J?ni?aikalla

Tein itsaeasiassa tuon testin siten että vaihdoin vain ohjelmiston configissa kannan nimen toiseen niin ei tarvitse sen ihmeemmin latailla tumppeja uudelleen palvelimelle vaan käyttää toista " käännettyä testi kantaa".. koitin siis saada koko koodaus homman vaihdettua suoraan phpmyadminilla..toisin onko se käytännössä mahdollista edes tehdä vai tarvitseeko lisäksi vielä tehdä jotain muita juttuja..?

Merri [25.09.2007 04:34:35]

#

Noiden asetuksien muuttaminen phpMyAdminissa muuttaa lähinnä vain aakkosjärjestyksen käsittelyä (eli esim. V ja W on yhtä tärkeitä, ÅÄÖ tulee Z:n jälkeen). Se muutos ei siis muunna merkistöä eli dataa kannassa millään tavoin. Eli ei oikotietä onneen tässä tapauksessa.

Kielitiedosto täytyy myös muuntaa UTF-8:aan.

Sitten tuo tietokannan pätkä yllä näyttää aika sekasotkulta, etten sitä UTF-8:ksi usko. UTF-8 säilyttää A-Z ihan normaaleina.


Tämä saa jäädä tämmöiseksi pätkäksi, nyt tarvii vähän nukkua.

Freekkari [25.09.2007 06:01:49]

#

Hmnn..onkohan mulla ees sit toi kielitiedostokaan edes utf-8 muodossa..?
Oon käyttänyt tollasta editoria jonka mielestäni pitäisi muuntaa kielitiedosto utf-8.s ja toi aiksempi koodimössö syntyi kun tein palvelimella kannasta phpmyadminilla utf-8 muunnoksen..

editorista löytyy tollanen convertteri valinta kuin ansi->utf-8

Käytössä Editpadpron versio 5.4.4 http://www.editpadpro.com/

hmnn..btw. mikä/minkä on "UTF-8 enkoodaaja" joku ohjelma vai tarkoitatko käytänössä jotain konvertteria jossain editorissa..?

Kielitiedostossa ääkköset näkyy editpadin konvauksen jälkeen nyt näin..

Pätkä kielitiedostoa...

$lang['user_choices'] = array(
	'email_message_received' 	=> "Lähetä e-mail kun uusi viesti vastaanotetaan.",
	'email_wink_received'		=> "Lähetä e-mail kun joku lähettää minulle silmäniskun.",
	'email_blog_commented'		=> "Lähetä e-mail kun joku lisää kommentin blogiini.",
	'email_mship_expiry'		=> "Lähetä jäsentason vanhenemisen muistutus e-maili.",
	'email_message_read'		=> "Lähetä e-mail kun lähettämäni viesti on luettu.",
	'email_buddy_list'			=> "Lähetä e-mail kun joku lisää minut kaverilistalle.",
	'email_ban_list'			=> "Lähetä e-mail kun joku lisää minut kieltolistalle.",
	'email_hot_list'			=> "Lähetä e-mail kun joku lisää minut hot listalle.",
	"allow_buddy_view_album"	=> "Salli kaverilistalla oleville nähdä yksityisalbumini.",
	"allow_hotlist_view_album"	=> "Salli hot listalla oleville nähdä yksityisalbumini.",
	'email_match_mail_days'		=> "Kuinka usein, päivässä lähetetään \'my matches\' viestit. Anna 0 jos et halua saada näitä viestejä.",
	);
$lang['mysettings_updated'] = 'Sinun etusijaiset asetuksia on päivätty.';
$lang['resend_conflink_hdr'] = 'Lähetä vahvistusviesti uudestaan';
$lang['resend_conflink_hdr1'] = 'Hävisikö vahvistusviesti rekisteröinnin jälkeen jonnekin vai jäikö se jostain syystä tulematta? Anna rekisteröinnin yhteydessä käyttämäsi sähköpostiosoite niin vahvistusviesti lähetetään uudestaan.';
$lang['resend_conflink_msg'] = 'Vahvistusviestisi on lähetetty.';
$lang['resend_conflink_msg1'] = 'Anna rekisteröinnin yhteydessä käyttämäsi sähköpostiosoite.';
$lang['resend_conflink_err1'] = 'Olet jo vahvistanut profiilisi. Käytä <a href="forgotpass.php">salasana unohtui</a> toimintoa luodaksesi uusi salasana.';
$lang['pic_gallery'] = 'Kuvat';
$lang['reactivate'] = 'Käyttäjien Uusi Aktivoiminen';
$lang['cancel_list'] = 'Peruutettujen Jäsenien Lista ';
$lang['cancel_date'] = 'Peruutus Päivämäärä';
$lang['language_opt'] = 'Kieli vaihtoehdot' ;
$lang['change_language'] = 'Vaihda Kieli';
$lang['with_photo'] = 'Vain kuvalliset';
$lang['logintime'] = 'Kirjautumis Aika';
$lang['manage_country_states'] = 'Hallinnoi Maa/Lääni';
$lang['manage_countries'] = 'Hallinnoi Maita';
$lang['countries_count'] = 'Number of Countries';
$lang['insert_country'] = 'Lisää Uusi Maa';

Onko koodi utf-8 vai nou..?
Taidampa vetää itekin kans välillä unta kaaliin...

Merri [25.09.2007 13:12:38]

#

Jep, tuolta sen pitäisi näyttää. Tosin, myös tietokannan tietojen pitäisi näyttää pitkälti vastaavilta, eli ääkkösten pitäisi muuttua juurikin ääkkösiksi (mikäli ne eivät phpMyAdminissa näytä ennestään jo siltä, ennen muunnosta).


Joku mode voisi kyllä vähän siistiä tuota yhtä viestiä...
(pitää erikseen mainita kun mitään ei vielä ole tapahtunut)

Freekkari [25.09.2007 20:05:50]

#

hmnn..kerros viel.. mikä/minkä on "UTF-8 enkoodaaja" joku ohjelma vai tarkoitatko käytänössä jotain konvertteria jossain editorissa..?

Tarkotitko että avaan nykyisen kanta tumpin joka on siis ilmeisesti latin muodossa tuossa ko editorissa ja muunnan sillä sen kantatumpin utf-8 muotoon..?

Freekkari [25.09.2007 21:17:04]

#

-- Rakenne taululle `osdate_articles`
--

CREATE TABLE `osdate_articles` (
  `articleid` int(11) NOT NULL auto_increment,
  `lang` varchar(30) default NULL,
  `dat` int(11) NOT NULL default '0',
  `title` varchar(255) default NULL,
  `text` longtext,
  PRIMARY KEY  (`articleid`),
  KEY `dat` (`dat`),
  KEY `title` (`title`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Vedostetaan dataa taulusta `osdate_articles`
--

INSERT INTO `osdate_articles` VALUES (1, NULL, 1266962400, 'Testi Artikkeli!?', '<p>Tässä vähän testataan..</p>');

Kun avaan kantatumpin editorissa niin kannan tiedoissa ääkköset näkyvät ilmeisesti utf-8 muodossa esimerkki yläpuolella..mutta haittaako taulussa näkyvä kohta DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 hommaa jotenkin että sivuilla homma ei pelitä silti oikein..?

Freekkari [26.09.2007 00:59:34]

#

Kyselin palveluntarjoajalta tuon mysqlin vakio tallenusmuotoa ja sain häneltä pari linkkiä mutta hänkään ei osannut auttaa kysymyksieni suhteen sen paremmin..ekasta linkistä voi lukea että vakiotallenus on latin1 latin1_swedish_ci

http://dev.mysql.com/doc/refman/5.0/en/character-sets.html
sekä mielenkiintoinen ilmeisesti muunnos asiaan liittyvä linkki..!?
http://www.phpwact.org/php/i18n/utf-8/mysql

ja tuo jälkimäinen linkki on kiinnostava mutta mulla ei ole hajuakaan miten moista koodia käytetään käytännössä tai siis miten tai missä ko tiedosto ajetaan..vai tehdäänkö koodista joku phptiedosto joka ajetaan sitten palvelimella jossain vai mitä..?

Merri [26.09.2007 10:59:53]

#

(Ainakin) viimeksi palauttaessani kantaa käytin mysql:ää komentoriviltä käsin, ja määrittelin erikseen käytettäväksi UTF-8 -merkistöä. Meniköhän se nyt jokseenkin näin:

mysql KANTA -uSÄÄ -pSUNPASSU --default-character-set=utf8 < testi.sql

Tietokantatiedosto taisi myös olla kaksinkertaista UTF-8:aa, muutenkin vaikuttavat aina olevan vähintään kertaalleen UTF-8 -koodattuja.


Tein omat muutokseni itselleni koodaamalla merkistökoodauksien muuntajalla, jonka väkersin VB6:lla. Se vaan että siihen kirjoitetaan oikeat polut suoraan koodiin.

Freekkari [26.09.2007 19:34:14]

#

Laittelen sulle sähköpostia sun sähkikseen..;)


Sivun alkuun

Vastaus

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

Tietoa sivustosta