Jump to content
BulForum.com

MySQL Encoding


Jorofi

Recommended Posts

Здравейте,

 

Проблемът е следния, файла е utf8 кирилицата излиза по следния начин Ицо Дингозов.

 

Пробвах да я оправя по няколко начина:

1. При import-a на файла, след таблиците, сложих "ENGINE=MyISAM DEFAULT CHARSET=utf8;"

2. С Firefox да сменям encoding-а, но нямаше никаква полза.

3. С Visual Studio 2010 записах няколко файла с друг encoding но пак нямаше полза.

 

Backup-a е изваден от тази система

- phpMyAdmin Version 2.11.9.4

- MySQL Version: 5.1.30

- PHP-Version: 5.2.10

 

Зареждам го през

- MySQL Workbench 5.2.20

- MySQL Version: 5.1.30

Link to comment
Share on other sites

Приказвай ми.

С phpmyadmin съм имал един вагон главоболия с тия бекъпи и рестори през годините. Отдавна съм се отказал да ползвам тва изчадие за бекъп и ресторе, че и за всичко останало.

Всички бази достъпвам през десктопа с native програми, неминаващи през php.

 

По проблема, я дай ако можеш файл с въпросния експорт, стигат само 1-2 заявки , останалото конфиденциално ако има го махни, да видим в какво състояние е файла, защото дори така пейстнато тук може да не е коректно изведено, а и тия символи не ми приличат на utf-8, показан като win1251, какъвто е този форум.

Всъщност откъде и знаеш, че въпросния файл е utf-8. Може така да са ти казали, но да не е. Може да има или да няма BOM.

Пробвай да го импортираш пак с phpmyadmin. Общо взето каквото е ползвано за експорт, същото гледай и за импорт, като някакво правило ми е вече, иначе много често ми се е налагало да преправям sql-a ако се ползват различни софтуери, да не говорим че някои са бъгави и не протича хич безболезнено импорта/експорта, особено ако резултантния sql стане няколко стотин МБ.

 

Отделно тва Workbench все още е в бета версия (5.2), и тя е бъгава, а 5.1 няма удобствата (че и функционалността) да кажем на Mysql Query Browser и другите такива.

Ако съдиш основно какво показва Workbench-a, може да не си настроил шрифта, там мисля подобно ги показваше ако не е с кирилишки.

Link to comment
Share on other sites

Приказвай ми.

С phpmyadmin съм имал един вагон главоболия с тия бекъпи и рестори през годините. Отдавна съм се отказал да ползвам тва изчадие за бекъп и ресторе, че и за всичко останало.

Всички бази достъпвам през десктопа с native програми, неминаващи през php.

 

По проблема, я дай ако можеш файл с въпросния експорт, стигат само 1-2 заявки , останалото конфиденциално ако има го махни, да видим в какво състояние е файла, защото дори така пейстнато тук може да не е коректно изведено, а и тия символи не ми приличат на utf-8, показан като win1251, какъвто е този форум.

Всъщност откъде и знаеш, че въпросния файл е utf-8. Може така да са ти казали, но да не е. Може да има или да няма BOM.

Пробвай да го импортираш пак с phpmyadmin. Общо взето каквото е ползвано за експорт, същото гледай и за импорт, като някакво правило ми е вече, иначе много често ми се е налагало да преправям sql-a ако се ползват различни софтуери, да не говорим че някои са бъгави и не протича хич безболезнено импорта/експорта, особено ако резултантния sql стане няколко стотин МБ.

 

Отделно тва Workbench все още е в бета версия (5.2), и тя е бъгава, а 5.1 няма удобствата (че и функционалността) да кажем на Mysql Query Browser и другите такива.

Ако съдиш основно какво показва Workbench-a, може да не си настроил шрифта, там мисля подобно ги показваше ако не е с кирилишки.

 

Съгласен съм с теб за native програмите, така ми дадоха dump-a и сега си нося кръста. До преди няколко месеца ползвах старите неща MySQL Query Browser и MySQL Administrator. Но реших да си по-играя малко с Workbench-a. Това е линка към почистеният файл, няма нищо важно няколко коментара, таблиците имат CHARSET=latin1 пробвах с utf8 нямаше ефект. Пробвах да го импортна вчера с phpmyadmin но не го дочаках трябваха му 20 30 мин. и не издържах, ще го пусна пак и ще го оставя да върви, ако не стане за един ден ще го мисля.

Link to comment
Share on other sites

Съгласен съм с теб за native програмите, така ми дадоха dump-a и сега си нося кръста. До преди няколко месеца ползвах старите неща MySQL Query Browser и MySQL Administrator. Но реших да си по-играя малко с Workbench-a. Това е линка към почистеният файл, няма нищо важно няколко коментара, таблиците имат CHARSET=latin1 пробвах с utf8 нямаше ефект. Пробвах да го импортна вчера с phpmyadmin но не го дочаках трябваха му 20 30 мин. и не издържах, ще го пусна пак и ще го оставя да върви, ако не стане за един ден ще го мисля.

Файлът, който си дал, има двойно utf-8 енкодване, затова гледайки го в редактор, реално ти (ние) виждаш резултата от първото декодиране (направено от самия текстов редактор). Как точно се е получил тоя изходен файл не знам, но при двойно декодиране се вижда вече кирилицата.

Пробвай с малко парче като това, което си дал, да импортнеш през phpmyadmin, да видим дали ще се усети да го декодне като хората.

С прекарване веднъж през RAW утф8 декодер може да се докара/възстанови до нормален UTF-8, ако другите методи които пробваш, не сработят. За спорта може да напиша прост такъв, че нещо не откривам в нета.

 

Edit: Изглежда това е чест проблем (двойно utf8 енкодване) при експорт когато конекцията не е сетната правилно, а данните в базата са си utf8.

Пробвай да импортираш базата така, ако не се чете, пробвай този метод.

В случая таблиците ти са latin1, защо са така, един господ знае, направи ги преди това utf8 в sql-a. Имаш кирилица все пак.

Link to comment
Share on other sites

Файлът, който си дал, има двойно utf-8 енкодване, затова гледайки го в редактор, реално ти (ние) виждаш резултата от първото декодиране (направено от самия текстов редактор). Как точно се е получил тоя изходен файл не знам, но при двойно декодиране се вижда вече кирилицата.

Пробвай с малко парче като това, което си дал, да импортнеш през phpmyadmin, да видим дали ще се усети да го декодне като хората.

С прекарване веднъж през RAW утф8 декодер може да се докара/възстанови до нормален UTF-8, ако другите методи които пробваш, не сработят. За спорта може да напиша прост такъв, че нещо не откривам в нета.

 

Edit: Изглежда това е чест проблем (двойно utf8 енкодване) при експорт когато конекцията не е сетната правилно, а данните в базата са си utf8.

Пробвай да импортираш базата така, ако не се чете, пробвай този метод.

В случая таблиците ти са latin1, защо са така, един господ знае, направи ги преди това utf8 в sql-a. Имаш кирилица все пак.

 

Метода работи с малко корекции за конкретната ситуация :) 10х.

 

1. Импортвам омотания файл както е с латиници и дивотии.

 

2. Експортвам базата в файл DB_NAME.sql:

mysqldump -h localhost -u root -p --opt --quote-names --skip-set-charset --default-character-set=latin1 MY_SCHEME > DB_NAME.sql

 

3. Отворих файла DB_NAME.sql и смених "CHARSET=latin1;" на "CHARSET=utf8;"

 

4. И после импортнах обратно файла:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...