Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: thinklinux в Jul 04, 2007, 12:49



Титла: Import в utf8
Публикувано от: thinklinux в Jul 04, 2007, 12:49
Търсих... наистина има адски много информация за това "уж" как да си настроиш mysql да import в utf8 по default, пробвах бая скриптове, но уви... за съжаление няма и лесна команда която просто да го направи възможно :( не можах да намеря файловете на mysql, в които може да е информацията за charset-a поне от там да го променя... някакви идеи имате ли?  :huh:


Титла: Import в utf8
Публикувано от: rat в Jul 04, 2007, 15:35
Не съм сигурен че разбирам какво точно се оптиваш да направиш, затова ме извини ако не пиша по проблема ти.

Значи трябва да укажеш какъв енкодинг да позлва врзъката ти.
#mysql
SET NAMES UTF8;
source path_to_sql_file.sql

Това ще изпълни заяките в SQL файла, и ако има insert-и ще се импортнат с горния енкодинг.
Ако позлваш phpMyAdmin - в началото още има падащо меню за енкодинга.

Едит: кажи все пак коя версия е mysql-a





Титла: Import в utf8
Публикувано от: thinklinux в Jul 04, 2007, 18:06
значи mysql версията ми е 5.0.32.. А точно проблема се състои в нещо много дразнещо... пиша най-обикновен script с една табличка и вътре примерно едно име на Кирилица... ако не задам ръчно в script-a default character set да е utf8 то автоматично го прави latin1.. :( та въпроса ми е дали има опция която просто като import script с phpmyadmin да си става на utf8 а не на latin1..


Титла: Import в utf8
Публикувано от: luda_glawa в Jul 04, 2007, 18:44
Това е доста често срещан проблем. Мисля, че ако сложиш в началото на кода:

SET NAMES UTF8
SET COLLATION_CONNECTION=utf8_general_ci

ще си решиш проблема. Но май имаше и нещо в настройките на самия sql сървър, което трябваше да се пипне.





Титла: Import в utf8
Публикувано от: neter в Jul 04, 2007, 20:31
Отваряш файла my.cnf (или my.ini) и вътре в секция [client] слагаш ред
Примерен код
default-character-set=utf8

и в секция [mysqld] редове
Примерен код
default-character-set=utf8
init-connect="SET NAMES utf8"

Дърпаш рестарт на mysql-а и би трябвало всичко да е наред. Направи си backup на базите (би трябвало да са във /var/lib/mysql) преди тези действия, ако имаш нещо важно на кирилица в тях, като застраховка от фал  ;)


Титла: Import в utf8
Публикувано от: thinklinux в Jul 04, 2007, 22:11
БЛАГОДАРЯ!! Аз из някви стари теми за версия 3.1 / 4 се бях ровил и там пишеше да се променят тези данни, но като не ги открих вътре мислех, че в 5-цата е по-различно... neter мерси, че ми каза точно каде да сложа редовете ;)