Ste vedeli? Podjetje TRSPLET s.p. je 4.maja 2015 spletno stran preusmerilo na Optiweb.

Podjetje Optiweb je na trgu že 6 let in ponuja celostno storitev spletnega nastopa. Poskrbimo za izdelavo spletnih strani na sistemu Wordpress in spletnih trgovin na platformi Magento.

Ukvarjamo se tudi z različnimi kanali spletnega marketinga; od različnih Google Adwords oglasov do Facebook oglaševanja. Posebej ponosni smo na naše uspehe pri optimizaciji spletnih mest za iskalnike, kjer že od začetka dosegamo odlične rezultate.

Želite predloge in nasvete, kako izboljšati vaš spletni nastop? Kontaktirajte nas prek
spletnega obrazca.

kuverta Lahko pa se vpišete tudi na seznam prejemnikov naših mesečnih e-novic, v katerih predstavljamo najnovejše trende (poslovnega) spletnega sveta. Nanje se lahko prijavite tukaj.

reference spletnih strani
21st August

Stalni UTF-8 problemi – utf8 mysql php – čšž šumniki težave – iskanje znaki – mysql like

Na T&R Splet blogu smo pripravili vrsto vodičov na temo problematike povezane s UTF-8 podporo. Blog iskalnik nam za UTF-8 iskalni niz vrne, kar nekaj rezultatov. Obdelali smo 6 korakov kako do UTF-8 podpore na vaši spletni strani, napisali vodič kako dodati UTF-8 podporo aplikacijam kot je Zen Cart, modulom za Zen Cart kot je Easy Populate, pa tudi tretje PHP module za na primer branje ter kreiranje Excelov, kreiranje PDF-jev, na zadnje pa tudi konverzijo strukture ter podatkov v MySQL bazi v UTF-8 način. Kljub temu se na forumih, kot je php.si, slo-tech ter slojoomla.si najde precej vprašanj povezanih s UTF-8 podporo. Zato sem se odločil še enkrat spisati vodič kako uspešno dodati UTF-8 podporo pri vaši spletni aplikaciji, ki jo poganjata PHP ter MySQL. Enostavno!

Osnovni problem

Večini starejših spletnih strani je dandanes še vedno v CP1250 ali ISO-8859-1 načinu. Zadeva uspešno deluje dokler ne želimo na spletno stran dodati kakšne posebne znake (€ ali kaj podobnega), ki jih te kodne tabele ne podpirajo. Problem nastane tudi, ko želimo na spletno stran dodati več jezikov, naprimer nemški, angleški, slovenski, srbski.

Kdaj potrebujem UTF-8 podporo?

IZKJLJUČNO ko potrebujete znake, ki jih vaša trenutna kodna tabela (CP1250, ISO-8859-1, ISO-8859-2, CP1251, itd..) NE podpira.

Kaj, če ne potrebujem UTF-8 podporo?

Nič, pustite vašo aplikacijo pri miru in se raje posvetite vsebini. Google vas zaradi ne UTF-8 podatkov zagotovo ne bo uvrstil nižje v iskalnih rezultatih. Primer uporabnika, ki je želel UTF-8 podporo, a bil na koncu zadovoljen s CP1250 lahko najdete na php-si forumu.

Kaj potrebujem za uspešno konverzijo spletne strani v UTF-8 način

  • Urejevalnik, ki bo vaše datoteke shranil v UTF-8 načinu brez BOM znaka
  • MySQL bazo s UTF-8 strukturo ter podatki
  • PHP aplikacijo, ki vrača podatke v UTF-8 načinu
  • Nekaj osnovnega znanja – v primeru, da ste čisti začetnik vam tega ne priporočamo

Postopek kako dodati UTF-8 podporo

Urejevalnik

Sam vam priporočam Zend Studio ali Net Beans. Poglejte si sliko kako nastaviti UTF-8 encoding v Zend Studio 5.5a oz. v Net Beansu. Na spletu je moč najti navodila tudi za PHP Designer – shranjevanje v UTF-8 načinu.

Kako se prepričati ali je datoteka shranjena v UTF-8 načinu

[php]
$text = file_get_contents(“vasa_php_datoteka”);
if (preg_match(”/./u”, $text) === false) {
echo ”Datoteka NI shranjena v UTF-8 načinu”;
} else {
echo ”Datoteka JE shranjena v UTF-8 načinu. Pojdite na naslednji korak.”;
}
exit;
[/php]

MySQL baza

Strukturo baze ter podatke morate imeti v UTF-8 načinu. Torej vaša baza, tabele, polja morajo imeti nastavljen UTF8 charset. Če ste prej uporabljali CP1250 imate najverjetneje sedaj nastavljeno charset na latin1. Zadevo je moč enostavno spremeniti, pomagajte si s tem vodičem, kjer najdete PHP kodo za avtomatsko konverzijo baze.

Povezava PHP-ja do MySQL baze

Ker imate vašo bazo v UTF-8 strukturi, morate PHP-ju povedati, da mora vse podatke prenešati v UTF-8 načinu. To storite tako, da na začetku, takoj zatem, ko kreirate povezavo do baze, izvede enostava querya:
[php]
mysql_query(“SET NAMES ”utf8” COLLATE ”utf8_slovenian_ci””);
mysql_query(“SET CHARACTER SET ”utf8_slovenian_ci”;”);
[/php]

Kako se prepričati ali imamo povezavo do MySQL baze v UTF-8 načinu

[mysql]
show variables like ”c%”;
[character_set_client] => utf8
[character_set_connection]=> utf8
[character_set_results] => utf8
[collation_connection] => utf8_slovenian_ci
[/mysql]

PHP aplikacija

Ker imate sedaj bazo ter datoteko v UTF-8 načinu morate tudi vašemu obiskovalcu oz. njegovemu brskalniku povedati, da vaša spletna stran servira UTF-8 podatke. To storite tako, da nastavite HTML meta tag (znotraj head značke):
[html]



[/html]

ali tako, da nastavite header s pomočjo PHP-ja:
[php]
header(”Content-Type: text/html; charset=utf-8”);
[/php]

Kako se prepričati ali brskalnik prepozna našo aplikacijo kot UTF-8

Internet Explorer ali Firefox morata pod View, Endoing kazati UTF-8. Če kažeta drugi encoding potem nekaj NE deluje pravilno.

Uspeh

Po teh korakih bi vaša aplikacija že morala delovati v polnem UTF-8 načinu. V primeru, da imate težave nam to napišite v komentarjih.

Težave:

PHP nizi/datoteke shranjene v ne UTF-8 načinu – pretvorba

Konvertiranje datotek CP1250, UTF-8 – iconv

PHP sortiranje

setlocale (LC_ALL, ”sl_SI.UTF-8”);

PHP delo s UTF-8 stringi oz. nizi

UTF-8 htmlentities, Html_entity_decode, htmlspecialchars

MySQL iskanje

LIKE – MATCH AGAINST

UTF-8 težave na slovenskih forumih

Dodatne informacije

Upam, da bo vodič rešil marsikateremu probleme, ki nastopijo pri pretvorbi spletne aplikacije na UTF-8 način. Predlogi, izboljšave, dodatne informacije ali komentarji so več kot dobrodošli.


Dodaj komentar

You must be logged in to post a comment.