Mysql și codificare Rusă, Design Note

Problema apare dacă lucrați cu o altă codificare decât UTF-8, și stocate într-o bază de date de text, de exemplu, în cp1251 de codificare. Dar MySql nu folosește întotdeauna codificarea cp1251 implicit, în special, nu sunt întotdeauna implicit pentru această codificare pentru conexiunile de bază. Din acest motiv, există situații în care textele de bază de date sunt stocate într-o formă ușor de citit umană normală, dar derivarea datelor de pe site-ul apar singuri „krakozyably“ (semne de intrebare in loc de litere - „“).

Pentru a combate acest fenomen, vom folosi următorul număr de cereri, care trebuie să fie efectuate după fiecare o conexiune la baza de date:

De obicei, ajută. Singurul dezavantaj este că de fiecare dată când se va realiza acest exces, de fapt, cererile (nu se spune, dar este o sarcină suplimentară pe server, deși se presupune că o suficient de mizerabil). Cu toate acestea, există situații când este imposibil să se înregistreze aceste linii după fiecare conexiune, daca, de exemplu, cu ajutorul unor aplicații care interacționează direct cu baza de date, și nici un singur setările.

Pe serverele care oferă servicii de găzduire pentru site-uri rusești, de obicei, bine și nici o astfel de problemă (pentru că au implicit MySql configurat să lucreze în primul rând cu cp1251 de codificare). Dacă site-ul dvs. utilizează un hosting străin, atunci cel mai probabil, singura cale de a rezolva problema este metoda descrisă mai sus.

Dar, dacă aveți posibilitatea de a corecta serverul MySql de configurare, atunci există o altă soluție, punerea în aplicare a care eu sunt fericit pentru mine descoperit (I într-un fel „cunoscut“ care se poate schimba într-un fel setările MySql, dar cum să facă acest lucru, nu am știut) 🙂

MySQL și codificare rusă WINDOWS-1251

Astăzi ne uităm la ceea ce este nevoie pentru a scrie /etc/my.cnf fișier de configurare pentru a configura standardul MySQL construi la locul de muncă care codifică implicit cp1251 fără recompilare.

Luați în considerare exemplul unui configurare bazat pe MySQL 5.x.

În [mysqld] secțiune se adaugă următoarele:

default-caractere-set = cp1251
caractere-set-server = cp1251
colaționare-server = cp1251_general_ci
init-connect = »SET NUME cp1251"
skip-caractere-set-client-strângere de mână

Ultimele două linii stabilite în mod forțat codarea cp1251 a tuturor cererilor.

În secțiunea [mysqldump] este suficient pentru a adăuga numai

Asta e suficient pentru MySQL pentru a lucra cu Windows-1251 codificarea implicită.

Acum pot folosi serverul local XAMPP (bine nu-mi plac Denver ...) mai confortabil 🙂 De asemenea, a lucrat perfect pe SUSE „de casă“ server care rulează.

Tot ceea ce am făcut ... Și se pare să aibă totul înțeles corect ... 💡 speranță ... 😀

Ar fi mai bine să scrie articolul ca totul funcționează ❗. pe degete decât să dea răspunsuri la întrebarea „Cum de a câștiga“

Ca totul în baza de date este stocată în codificarea în care este tot acolo pentru a împinge, și, respectiv, și o conexiune la baza de date și codificare cele mai multe pagini ale site-ului trebuie să fie aceleași. Deși există excepții 😯 😯 😯 ❗ ❓

Dar nu am nimic transformă 🙁
Am luat sfatul, face o cerere de cp1251, utf8, Latin1, cp866-nu iese. Pune useUnicode = truecharacterEncoding = utf8 (pagini în SPF și în Annecy încercat) -Nu. În consola scrise numele set utf8 și a încercat să scrie în limba rusă-nimic, dar binar și Latin1.
Nu știu ce să fac. musculare a 5 ...

Se spune că totul ar trebui să fie scris pe SPF. Și cum?

Poate cineva spune-mi cum să se schimbe codificarea pe fleshrolikah rusă. Cum ar fi site-ul șablon boxedart
Heather pe flash-ul. Deci, există un cuvânt încărcat prin ekshnskript ca variabile care pot fi schimbate. Și întrebarea este: cum să setați valorile variabilelor în limba rusă. Când a încercat să-l facă pe câmp. Dacă cineva știe Prompt soluție.

Și aș pi * d da tuturor celor care utilizează încă CP-1251. Aceasta este gravă, prin urmare, toate problemele. Pentru o lungă perioadă de timp este timpul să recunoască UTF8 standard internațional, și să-l utilizați. Și cu recodificarea înainte și înapoi pe proiectele dvs. CP1251 care vin la mine atunci, că Sanchez cuvânt, ar fi ucis.

„Pot schimba cumva setările MySql, dar cum să facă acest lucru, nu știu)“
- Ezo, vă trateze, în cazul în care acest lucru. Am făcut-o în primul rând UNIX admin, apoi programator 🙂

sfaturi de ajutor pentru codificare MySQL cp1251
Dar aici trebuie să se schimbe codificarea pentru a cp1251 utf8 pe server nevoie în sine?
De ce atunci locale afișează toate POSIX

articole similare