usimbaji wa ukurasa wa HTML. usimbaji wa HTML. Usimbaji gani wa kuhifadhi ukurasa wa wavuti?

Nimetumia saa chache zilizopita kwenye tovuti yangu kujaribu HTML 4.01 Strict na kwa kweli nimefaulu nayo, lakini kuna onyo moja zaidi ambalo siwezi kuonekana kuliondoa. Onyo:

Usimbaji wa herufi haulingani!

Usimbaji wa herufi uliobainishwa katika kichwa cha HTTP (iso-8859-1) ni tofauti na thamani katika kipengele (utf-8). Nitatumia thamani kutoka kwa kichwa cha HTTP (iso-8859-1) kwa uthibitisho huu.

Kwa habari ya jumla juu ya jinsi ya kubadilisha kichwa cha seti ya herufi katika safu tofauti za mtandao, ona http://www.w3.org/International/O-HTTP-charset


2018-05-25 13:30

Seva inatia alama hati kwa uwazi kama ISO-8859-1 katika vichwa vya HTTP. Jaribu kuhifadhi default.html kwa kutumia usimbaji wa UTF-8 ukitumia kihariri kinachofaa.


2018-05-25 03:07

Sawa, nilikuja na suluhisho la sehemu ya shida yangu. Kwa kuwa ilikuwa ni faili ya default.html pekee iliyokuwa ikisababisha onyo, nilidhani kwamba seva ilikuwa ikifanya kitu maalum kwayo kwa sababu ya jina lake. Kwa hiyo niliunda faili mpya ya home.html yenye maudhui sawa na faili ya default.html na nikaelekeza faili ya .htaccess kwenye faili mpya (tazama mstari wa 3 hapa chini).

# Tumia PHP5 kama programu chaguomsingi ya AddHandler/x-httpd-php5 .php DirectoryIndex home.html AddDefaultCharset UTF-8

Hii ilirekebisha tatizo na faili zote sasa zinatambuliwa kama UTF-8. Bado sina uhakika seva inafanya nini na faili ya default.html au mipangilio iko wapi kuhusu hii, lakini shida yangu inapoondoka nitasahau kuihusu.

Moja ya matatizo ya kawaida ambayo anayeanza anakabiliwa nayo Msimamizi wa tovuti(na sio tu wanaoanza), hii matatizo na coding kwenye tovuti. Hata kwangu inaonekana mara kwa mara wakati wa kuunda tovuti " abracadabra"Lakini, kwa bahati nzuri, najua vizuri jinsi ya kutatua shida hii, kwa hivyo ninaweka kila kitu kwa mpangilio ndani ya sekunde chache. Na katika nakala hii nitajaribu kukufundisha haraka iwezekanavyo. kutatua matatizo kuhusiana na coding kwenye tovuti.

Jambo la kwanza la kuzingatia ni kwamba matatizo yote na kuonekana kwa "abracadabra" yanahusishwa na kutofautiana kati ya encoding ya hati na encoding iliyowekwa na kivinjari. Wacha tuseme hati ndani windows-1251, lakini kwa sababu fulani kivinjari kinaonyesha UTF-8. Na chanzo cha tofauti hiyo inaweza kuwa sababu zifuatazo.

Sababu ya kwanza

Meta tag imeandikwa vibaya aina ya maudhui. Kuwa mwangalifu, inapaswa kuwa na usimbaji ambao hati yako imeandikwa.

Sababu ya pili

Inaonekana kwamba meta tag imeandikwa kwa njia unayotaka, na kivinjari kinaonyesha kile unachotaka, lakini kwa sababu fulani bado kuna matatizo na encoding. Mkosaji hapa ni karibu kuwa hati yenyewe ina usimbaji tofauti. Ikiwa unafanya kazi ndani Notepad++, kisha chini kulia kuna jina la usimbuaji wa hati ya sasa (kwa mfano, ANSI) Ikiwa utaweka meta tag UTF-8, na hati yenyewe imeandikwa ANSI, kisha fanya ubadilishaji kuwa UTF-8(kupitia menyu" Usimbaji"na uhakika" Badilisha kuwa UTF-8 bila BOM").

Sababu ya tatu

Sababu ya nne

Na hatimaye, sababu ya mwisho maarufu ni shida na usimbuaji kwenye hifadhidata. Kwanza, hakikisha kwamba majedwali na sehemu zako zote zimeandikwa kwa usimbaji sawa, unaolingana na usimbaji wa tovuti nyingine. Ikiwa hii haisaidii, basi mara baada ya kuunganishwa kwenye hati, endesha ombi lifuatalo:

WEKA MAJINA "utf8"

Badala ya " utf8" kunaweza kuwa na usimbaji tofauti. Baada ya hapo, data zote kutoka kwa hifadhidata zinapaswa kutoka kwa usimbaji sahihi.

Katika nakala hii, natumai nimeelezea, angalau, 90% ya matatizo yanayohusiana na kuonekana kwa "gibberish" kwenye tovuti. Sasa lazima ushughulikie shida maarufu na rahisi kama usimbuaji usio sahihi kwa wakati mfupi.

Mara nyingi, wanablogu wa novice, na sio wanaoanza tu, wanakabiliwa na shida ya usimbuaji wa ukurasa wa html. Wakati, badala ya maandishi na herufi zinazoweza kusomeka, CRACK zisizoeleweka zinaonyeshwa. Hili ndilo jina lililopewa alama ambazo hazilingani na zile zinazopaswa kuonyeshwa kwenye ukurasa. Hieroglyphs zisizoeleweka zinatoka wapi?

Ili kuelewa hili, unahitaji kuelewa usimbaji wa ukurasa wa html ni nini. Maandishi yoyote kwenye kompyuta yanawakilishwa kama seti ya baiti. Katika kila moja ya baiti hizi, herufi moja tu imesimbwa kwa msimbo maalum. Ili kubainisha au kusimbua kwa usahihi seti ya baiti na kuiwasilisha katika fomu inayoweza kusomeka na binadamu, kivinjari kinahitaji kulinganisha moja ya jedwali la msimbo.

Usimbaji wa msingi ni usimbaji wa ASCII, ambao una nambari za herufi 128 za alfabeti ya Kilatini na herufi maalum (mabano, lati, n.k.). Kisha encodings ya kwanza ya tabia ya Kirusi CP866 na KOI8-R ilionekana, na kutoka kwao ilikuja encoding ya madirisha-1251 inayojulikana kwa wasimamizi wa tovuti wa leo. Ingawa usimbaji huu wote umeundwa ili kuonyesha maandishi ya Kirusi, zote hutofautiana katika msimbo kutoka kwa kila mmoja.

Ikiwa maandishi yaliandikwa katika usimbuaji wa CP866, na kivinjari kinajaribu kuifafanua kwa kutumia jedwali la msimbo wa windows-1251, basi kwa matokeo tutapata maneno yasiyoweza kusomeka. Mbali na majina ya usimbuaji ambao nimetoa hapa, pia kuna nukuu nyingi. Kwa wingi wa jedwali la msimbo, tatizo la utangamano wa usimbaji limetokea. Swali la kuunda encoding ya ulimwengu wote imekuwa ya haraka sana. Leo, usimbaji wa utf-8 wa ulimwengu wote umevumbuliwa. Wakati wa kupanga tovuti, kuna pointi nne zinazohitaji kufuata kiwango kimoja cha usimbaji wa maandishi.

  • Usimbaji wa hati.
  • Usimbaji wa jedwali la MySQL.
  • Usimbaji wa ukurasa wa HTML wenyewe.
  • Lugha inayotumiwa na kivinjari cha mtumiaji.

Katika vipengele hivi vyote vya tovuti, encoding moja inapaswa kutumika - ikiwezekana utf-8, kwa sababu ni ya ulimwengu wote. Ukibonyeza mseto wa CTRL+ U, unaweza kuona msimbo wa ukurasa, ambao unaonyesha ni usimbaji gani unaotumika kwa hati hii.

Ukifungua blogu yako na kuona baadhi ya herufi za ajabu badala ya herufi za Kirusi, inamaanisha kwamba usimbaji umewekwa vibaya.

Jinsi ya kubadilisha encoding?

Ili kuondoa hitilafu na matatizo ya usimbaji wa blogu yako, tunatumia mteja wa FTP. Kwa msaada wake, nakala faili ya wp-config.php kwenye "Desktop" ya kompyuta yako na uifungue kwa kutumia mhariri wa maandishi ya Notepad ++. Faili hii ina maelezo kuhusu blogu yako - ikiwa ni pamoja na manenosiri, usimbaji wa hifadhidata, na zaidi. Wacha tuone ikiwa usimbaji ni mwingine wowote, unahitaji kubadilishwa kuwa UTF-8.

  • -hifadhi katika usimbaji huu.
  • -ndani ya nambari ya Hifadhidata, badilisha usimbuaji kuwa UTF-8.

Tunahifadhi faili katika mhariri wa Notepad ++, kwa thamani "UTF-8 bila saini ya BOM" na kupakia faili kwa mwenyeji wetu, yaani, tunabadilisha faili ya zamani ya wp-config.php kwenye mwenyeji. , kwenye mpya.

Kama sheria, vitendo hivi vinatosha kwa kila kitu kuonyeshwa kwa usahihi kwenye blogi yako. Ikiwa baada ya hatua zilizo hapo juu hakuna kitu kilichofanya kazi, unaweza kujaribu njia nyingine ya kubadilisha encoding. Ili kufanya hivyo, unahitaji kufanya mabadiliko kwenye faili ya .htaccess. Ili kusahihisha hili, fungua faili ya .htaccess kwa kutumia kihariri cha Notepad++ na uongeze mojawapo ya mistari hii mwanzoni:

  • AddDefaultCharset UTF-8
  • CharsetDisable On
  • CharsetDefault UTF-8
  • CharsetSourceEnc UTF-8

Inaweza kutosha kubadilisha moja ya chaguzi, wakati mwingine ya kwanza inatosha. Ikiwa haifanyi kazi, sisi hupitia chaguzi zifuatazo kwa mikono, tukiingiza chaguzi zifuatazo moja kwa moja. Usisahau mlolongo wa vitendo:

  1. Fungua faili kwenye kihariri.
  2. Tunafanya mabadiliko.
  3. Hifadhi.
  4. Pakia kwa mwenyeji.
  5. Hebu tuangalie.

Pia nataka kutaja mojawapo ya matatizo ambayo yanaweza kutokea na ambayo nilikutana nayo wakati wa kuunda kurasa za kukamata. Wakati wa kupakia faili za ukurasa wa kunasa kwa mwenyeji, hali ya kutolingana kwa usimbaji inaweza pia kutokea. Katika kesi hii, unahitaji kurekebisha faili ya index.html. Ili kufanya hivyo, kwa kutumia FaleZilla, toa faili na uhamishe kwenye "Desktop" ya kompyuta yako. Ifuatayo, fungua faili kwa kutumia Notepad ya kawaida.

Baada ya faili kufunguliwa kwenye Notepad, bonyeza-kushoto kwenye "Faili" na "Hifadhi kama ...".

15.03.2016

Bado


Salaam wote!
Wacha tuendelee kujifunza misingi ya HTML. Katika somo hili tutaangalia jinsi ya kutaja usimbuaji wa HTML kwa tovuti (ukurasa wa wavuti).
Somo hili ni muhimu sana kwa sababu kutojua jinsi ya kubainisha usimbaji wa ukurasa wa wavuti kunaweza kusababisha ukurasa wako kutosomeka. Unauliza: "Inakuwaje kwamba hawawezi?"
Acha nikuonyeshe jinsi blogu yangu inavyoonekana kwa usimbaji usio sahihi:

Kwa hiyo, usimbaji wa HTML- hizi ni majedwali ya mawasiliano kati ya misimbo na alama za alfabeti. Hiyo ni, kompyuta yetu ya usimbaji itabadilisha msimbo kuwa herufi wazi, zinazoweza kusomeka.

Ili kuwaambia kivinjari ni nini encoding wahusika kwenye ukurasa wa wavuti ni, unahitaji kuandika kati ya vitambulisho Hapa kuna meta tag:

Tafadhali kumbuka kuwa msimbo una neno "jina la usimbaji". Hapa unahitaji kutaja usimbaji wa HTML.
Kawaida hii ni utf-8 au windows-1251.

Usimbaji kwautf-8:

UsimbajiKwa windows-1251:

Ikiwa umesahau kuwaambia kivinjari kile ambacho encoding tovuti au ukurasa wa wavuti iko, kivinjari kitajaribu kuamua encoding moja kwa moja, lakini haifaulu kila wakati kwa usahihi. Mwishoni, matokeo yatakuwa sawa na yale niliyoonyesha kwenye picha hapo juu.

Tuendelee na mazoezi.

Jinsi ya kuunda hati ya HTML na
utf-8 usimbaji

"Programu Zote" => "Vifaa" => "Notepad" :

<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p> <head></head> Hii ndio meta tag:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p> <html> <head> <title>Ukurasa wangu wa kwanza wa HTML kwenye StepkinBlog..<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Bofya kwenye notepad <span>“Faili” => “Hifadhi kama...”</span>:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-3.png' width="100%" loading=lazy loading=lazy></p><p><br>Ambapo kipengee "Encoding:" kimetajwa "UTF-8". <br>Bonyeza "Hifadhi":</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-4.png' width="100%" loading=lazy loading=lazy></p><p>Ungependa kupanua picha?</p> <h3><span>Jinsi ya kuunda hati ya HTML na usimbuaji wa windows-1251</span></h3> <p>Fungua daftari la kawaida. <span><i>"Programu Zote" => "Vifaa" => "Notepad"</i> </span>.<br>Ifuatayo, bandika nambari ya kawaida ya HTML kwenye Notepad:</p><p> <html> <head> <title>Ukurasa wangu wa kwanza wa HTML kwenye StepkinBlog..<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Sasa tunaonyesha ni katika encoding gani ukurasa wa wavuti umehifadhiwa. Ili kufanya hivyo, weka kati ya vitambulisho <head></head> Hii ndio meta tag:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </p><p>Hivi ndivyo inavyopaswa kuonekana (mstari # 4):</p><p> <html> <head> <title>Ukurasa wangu wa kwanza wa HTML kwenye StepkinBlog..<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>Bofya kwenye notepad <span>“Faili” => “Hifadhi kama...”</span>:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-5.png' width="100%" loading=lazy loading=lazy></p> <p>Ambapo kipengee cha "Jina la faili", andika jina la ukurasa wa wavuti kwa Kilatini na kiendelezi ".html". Nadhani unakumbuka hii kutoka kwa masomo yako ya kwanza. <br>Ambapo kipengee cha "Encoding:" kimebainishwa, onyesha "ANSI". <br>Bonyeza "Hifadhi":</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy loading=lazy></p> <p>Ni hayo tu!</p> <p>Wasimamizi wengi wa wavuti huchagua usimbaji wa UTF-8. Sitakuambia sababu, kwa sababu ninaogopa kukupa maelezo ambayo bado hayahitajiki katika hatua yako ya ujuzi wa HTML.</p> <p>Kwa mfano, kwenye notepad, weka nambari:</p><p> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </p><p>Na taja "ANSI" wakati wa kuhifadhi:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2016/03/kak-ukazat-kodirovku-sajta-na-html-osnovy-html-dlya-nachinayushhix-urok-20-6.png' width="100%" loading=lazy loading=lazy></p> <p>Kwa kuwa hii sio sahihi, matokeo yatakuwa kama hii:</p> <p>Hifadhi kurasa zako za wavuti kwa usahihi ili kuepuka matokeo kama haya</p> <p>Chapisho lililotangulia <br></span> <span>Ingizo linalofuata <br></p> <p>Ikiwa encoding si sahihi, tovuti nzima au sehemu yake inaonyeshwa kama "kryapozyablov", i.e. herufi za ajabu zinazofanya maandishi kutosomeka. Hali hii inaweza kutokea ikiwa usimbaji wa seva ya wavuti umesanidiwa vibaya au ikiwa hakuna mipangilio. Hebu fikiria chaguzi zinazowezekana na njia za kutatua matatizo</p> <h2>Usimbaji wa ukurasa wa HTML si sahihi <br></h2> <p>Wacha tuunda faili ya majaribio:</p><p>Sudo gedit /var/www/html/encoding.html</p><p>Wacha tuinakili ndani yake:</p><p> <html> <head> <title>Ukaguzi wa usimbaji



Hebu tufungue faili hii kwenye kivinjari

Kama unavyoona, usimbaji hugunduliwa vibaya na kivinjari:

Kuna njia kadhaa za kurekebisha hali hii. Hebu tuanze na jambo rahisi zaidi - taja kwa uwazi usimbaji wa ukurasa wa wavuti. Hii inafanywa na meta tag, ambayo lazima iko ndani ya tag kichwa:

Wacha tuongeze laini hii kwenye faili yetu ya jaribio ili ionekane kama hii:

Ukaguzi wa usimbaji

Faili ya majaribio ili kuangalia usimbaji



Kama tunavyoona kwenye skrini ifuatayo, shida inatatuliwa:

Ikiwa usimbaji wa faili yako ni tofauti na UTF-8, kisha uibadilishe na windows-1251 au ile inayolingana na usimbaji wa ukurasa wa wavuti. Ili kujifunza jinsi ya kugundua usimbaji wa faili, angalia.

Hii ilikuwa njia rahisi zaidi ya kurekebisha tatizo la usimbaji - bila kubadilisha mipangilio ya seva.

Wacha turudishe faili yetu ya jaribio katika hali yake ya asili na tuendelee kusoma njia za kubainisha usimbaji.

Ikiwa faili .htaccess ikiwezeshwa na mipangilio ya Apache, faili hizi zinaweza kutumika kubainisha usimbaji wa kurasa zinazotumwa na seva ya wavuti. Ili kuwezesha usaidizi wa faili .htaccess kwenye faili ya usanidi ya Apache ( /etc/apache2/apache2.conf) pata kikundi cha mistari

Faharasa za Chaguo FuataSymLinks RuhusuBadilisha Hakuna Huhitaji zote kutolewa

Na badala yake

RuhusuBatilisha Hakuna

Ruhusu Batilisha Zote

Baada ya hayo, seva inahitaji kuwashwa tena.

Sudo systemctl anzisha tena apache2.service

Faili .htaccess lazima iwekwe kwenye saraka sawa na tovuti. Tovuti yangu imepangishwa katika saraka ya mizizi ya seva ya wavuti. Ikiwa unayo sawa, basi sasa kwenye folda /var/www/html/ tengeneza faili .htaccess na ongeza maagizo kwake AddDefaultCharset baada ya hapo onyesha usimbuaji unaotaka. Mifano

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

Unaweza kubainisha usimbaji ambao utatumika tu kwa faili za umbizo fulani:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Seti ya faili inaweza kuwa chochote, kwa mfano:

AddCharset utf-8 .html .css .php .txt .js

Chaguo linalofuata ni mbadala na pia hukuruhusu kuweka usimbuaji wa faili za aina fulani; inahitaji kuwezeshwa. mod_headers:

Seti ya kichwa cha Aina ya Yaliyomo "text/html; charset=utf-8"

Chaguo jingine ambalo linaweza pia kutumika kwenye faili .htaccess kuweka usimbaji wa UTF-8:

IndexOptions +Charset=UTF-8

Ikiwa tovuti iko kwenye PHP, basi unaweza kuhitaji pia kunakili usimbaji na php_value chaguo-msingi_charset:

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

Badala ya kuunda faili ya .htaccess, unaweza kuweka usimbaji katika faili ya usanidi wa seva ya wavuti. Kwa Apache CentOS/Fedora hili ni faili la httpd.conf, na kwenye Debian/Ubuntu hili ni faili la apache2.conf. Ongeza laini ifuatayo ili kuweka usimbaji na uanze upya seva ya wavuti ili mabadiliko yatekeleze:

AddDefaultCharset UTF-8

Jinsi ya kuweka usimbuaji wa UTF-8 katika PHP

Katika hati ya PHP, usimbuaji umewekwa kichwa, Kwa mfano:

Kichwa("Aina ya Maudhui: charset=utf-8");

Kawaida, pamoja na usimbuaji, aina ya yaliyomo pia imeonyeshwa (kwa mfano, chaguo la ukurasa wa HTML):

Kichwa("Aina ya Maudhui: maandishi/html; charset=utf-8");

Chaguo jingine la mlisho wa RSS:

Kichwa("Aina ya Maudhui: maandishi/xml; charset=utf-8");

Kumbuka kwamba kazi kichwa lazima iitwe kabla ya pato lolote kwa kivinjari. Vinginevyo (ikiwa pato kwa kivinjari tayari limefanywa), basi vichwa tayari vimetumwa. Kwa wazi, katika kesi hii haiwezekani tena kuwabadilisha. Ikiwa ujumbe wa kosa ulitolewa kwa kivinjari, basi vichwa tayari vimetumwa na kutumia kichwa kitasababisha hitilafu. Ili kuangalia ikiwa vichwa tayari vimetumwa, tumia vichwa_vimetumwa.

Njia iliyoelezwa inafanya kazi tu wakati hati ya PHP inazalisha kabisa maudhui ya ukurasa. Unapaswa kuhifadhi kurasa tuli (kama vile html) katika usimbaji utf-8. Seva nyingi za wavuti zitazingatia usimbaji wa faili na kuongeza kichwa ipasavyo. Kwa kweli, kuhifadhi faili ya PHP katika usimbuaji utf-8 itasababisha matokeo sawa.

Usimbaji usio sahihi wa matokeo kutoka hifadhidata ya MySQL

Ikiwa tovuti yako ina sehemu tuli (template) na sehemu ya nguvu, ambayo imeundwa kutoka kwa data iliyopokelewa kutoka kwa hifadhidata, basi hali inaweza kutokea wakati sehemu ya tovuti ina usimbaji sahihi, na sehemu nyingine ya tovuti ina makosa. moja. Katika kesi hii, haina maana kubadili mipangilio ya seva ya wavuti - kwa kuwa sawa, sehemu ya ukurasa itakuwa na encoding isiyo sahihi.

Unahitaji kuanza kwa kuamua usimbaji wa majedwali yako. Unaweza kuangalia phpMyAdmin:

Makini na safu " Kulinganisha", kiingilio" utf8_unicode_ci" inamaanisha kuwa usimbaji unatumika UTF-8.

Unaweza kuunganisha kwa DBMS ya MySQL na uangalie usimbaji wa jedwali bila phpMyAdmin. Kwa hii; kwa hili:

Mysql -u mzizi -p

Ikiwa umesahau jina la hifadhidata, basi endesha amri:

ONESHA HABARI;

Wacha tuseme ninataka kutafuta usimbuaji wa jedwali kwenye hifadhidata ya information_schema

USE information_schema;

Ikiwa umesahau majina ya meza, endesha:

ONYESHA SAFU KAMILI KUTOKA kwa jina_la_jedwali;

Kwa mfano:

ONYESHA SAFU KAMILI KUTOKA GLOBAL_STATUS;

Utaona kitu kama hiki:

Tazama safu Collation. Katika kesi yangu huko utf8_jumla_ci, ni kama utf8_unicode_ci, usimbaji UTF-8. Kwa njia, ikiwa hujui ni tofauti gani kati ya encodings utf8_jumla_ci, utf8_unicode_ci, utf8mb4_jumla_ci, utf8mb4_unicode_ci, na pia ni encoding gani ya kuchagua kwa hifadhidata ya MySQL, kisha angalia.

Sasa kwa kuwa tunajua usimbaji (kwa upande wangu ni UTF-8), kila wakati unapounganisha kwenye DBMS ya MySQL unahitaji kutekeleza maswali kwa kufuatana:

WEKA MAJINA UTF8 SET CHARACTER SET UTF8 SET character_set_client = UTF8 SET character_set_connection = UTF8 SET character_set_results = UTF8

Katika PHP hii inaweza kufanywa kitu kama hiki:

$this->mysqli = mysqli mpya($server, $username, $password, $basename); ikiwa ($this->mysqli->connect_error) ( $this->errorHandler_c->logError(1, "Connect Error (" . $this->mysqli->connect_errno . ") " . $this->mysqli->connect_error , $_SERVER ["REQUEST_URI"]); ) $this->mysqli->swali("WEKA MAJINA UTF8"); $this->mysqli->swali("SET CHARACTER SET UTF8"); $this->mysqli->swali("SET character_set_client = UTF8"); $this->mysqli->swali("SET character_set_connection = UTF8"); $this->mysqli->swali("SET character_set_results = UTF8");

kumbuka hilo UTF8 unahitaji kuibadilisha na usimbaji unaotumika kwa meza zako.

Kubadilisha usimbaji faili

Ikiwa unaamua kwenda kwa njia nyingine na badala ya kufunga encoding mpya, kubadilisha encoding ya faili zako, kisha uangalie makala "". Inakuambia jinsi ya kujua usimbaji wa sasa wa faili na jinsi ya kubadilisha faili kwa usimbuaji wowote (sio UTF-8 tu).

Jinsi ya kujua ni nini encoding seva inatuma

Ikiwa unataka kujua ni mipangilio gani ya usimbuaji ambayo seva ya wavuti inayo (inatuma encoding gani kwenye vichwa), basi tumia amri ifuatayo:

Curl URL -s -o /dev/null -D /dev/stdout | grep -E "charset"

Ndani yake badala yake URL ingiza anwani halisi ya tovuti unayoangalia. Ikiwa tovuti hutumia HTTPS, basi taja anwani ya tovuti pamoja na itifaki, kwa mfano

Curl https://softocracy.ru -s -o /dev/null -D /dev/stdout | grep -E "charset"

Usimbaji upi wa kuchagua kwa tovuti