MySQL lapā rāda ķeburus nevis simbolus

Ir situācijas, kad SQL sāk attēlot kaut kādus velnišķīgus ķeburus normālu (parasti nacionālo) simbolu attēlošanas gadījumā. Pie vainas var būt daudz kas, bet mēs sāksim ar prastāko, proti - lapai ir jābūt ar utf8 kodējumu. Parasti tas tiek ievietots meta tagā

 

 

Pēc tam, pie katras DB konekcijas, pieliekam šādu rindiņu:

@mysql_query("SET character_set_results=utf8, character_set_connection=utf8,

character_set_client=utf8");

Pašai datubāzei uzstādam korektu defaulto kodējumu:

ALTER DATABASE name DEFAULT COLLATE utf8_unicode_ci;

Un tad sākas pats "interesantākais" - jāiet cauri visām tabulām, visām rindām, kurās ir sastopami šie nacionālie simboli, un jāizmanto sekojošas komandas:

alter table tablename modify fieldname varchar(50) CHARACTER SET latin1;

alter table tablename modify fieldname varchar(50) CHARACTER SET binary;

alter table tablename modify fieldname varchar(50) CHARACTER SET utf8;



Message
Username
Password