|
|
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
всем привет у меня вопрос: можно ли и как перекодировать базу данных win1251 в UTF-8? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 09:04:03 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
Попробуй через полный бэкап... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2014, 14:54:49 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
Akina, не совсем понял... надо в phpMyAdmin сделать экспорт с какими-то настройками? или mysqldump? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 11:10:27 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
В общем виде задача решается примерно так (один из способов): 1. Делаете дамп существующей базы при помощи штатного mysqldump или другого средства. 2. Перекодируете файл дампа в нужную кодировку (из cp1251 в utf-8) при помощи iconv, например. 3. В дампе меняете указание кодировок для таблиц и полей (cp1251 на utf8) при помощи sed или другого редактора. 4. Заливаете дамп в базу. Если нет полной уверенности, то лучше сначала залить дамп в тестовую базу и убедиться, что всё в порядке. Разумеется, это будет работать если только в существующей базе нет косяков, вроде несоответствия кодировки таблицы и данных. Ну и иногда бывают нюансы, конечно же. Сам по себе этот способ мне нравится тем, что в дампе можно визуально проконтролировать все изменения. При необходимости структуру и данные можно в новую базу перегонять отдельными дампами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2014, 19:02:54 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
vkleВ общем виде задача решается примерно так (один из способов): 1. Делаете дамп существующей базы при помощи штатного mysqldump или другого средства. 2. Перекодируете файл дампа в нужную кодировку (из cp1251 в utf-8) при помощи iconv, например. 3. В дампе меняете указание кодировок для таблиц и полей (cp1251 на utf8) при помощи sed или другого редактора. 4. Заливаете дамп в базу. приблизительно так это и представлял... но не понял ваш 2-й пункт = а зачем сам файл sql-скрипта перекодировать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2014, 09:23:36 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
buyboyа зачем сам файл sql-скрипта перекодировать?За тем, что Вы хотите buyboyперекодировать базу данных win1251 в UTF-8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2014, 09:27:18 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
vkleЗа тем, что Вы хотите а если я не перекодирую sql-скрипт, а просто поменяю в нем кодировку для таблиц и полей? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.08.2014, 09:36:09 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
buyboy, все ясно. используйте sypex dumper. там в документации написано как делать перекодировку. и про бекап не забудьте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 12:41:27 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
buyboyvkleЗа тем, что Вы хотите а если я не перекодирую sql-скрипт, а просто поменяю в нем кодировку для таблиц и полей?А Вы попробуйте. Не, ну можете пробовать не на живой базе, а просто мысленно проиграть предполагаемый Вами сценарий. PS: Если в дампе не будет кириллицы, то всё будет в порядке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:00:39 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
netwindbuyboy, все ясно. используйте sypex dumper. там в документации написано как делать перекодировку. и про бекап не забудьте большое спасибо! это бесплатная софтина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 11:13:20 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
vklebuyboyпропущено... а если я не перекодирую sql-скрипт, а просто поменяю в нем кодировку для таблиц и полей?А Вы попробуйте. Не, ну можете пробовать не на живой базе, а просто мысленно проиграть предполагаемый Вами сценарий. PS: Если в дампе не будет кириллицы, то всё будет в порядке. гут! спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 11:13:55 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
buyboy, гуглить уже не в моде? это такой пшп-скрипт. с прибабахом, но людям нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 12:14:49 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
да у субд вообщемто есть своя функция перекодирования. итак...вцелом тут 2задачи быает 1 ИЗ цепочки байт в кодировке КОД1 получить цепочку байт в кодировке КОД2 по идее, если в одном поле храниться текст в одной кодировке, в другом в другой оно само при присвоении это сделает проверяем. ааа(ch - cp1251,ch2-utf8) в оба записали букву я select hex(ch),hex(ch2) from aaa; "FF",\N \N,"D18F" update aaa set ch = ch2 where ch is null; update aaa set ch2 = ch where ch2 is null; select hex(ch),hex(ch2) from aaa; "FF","D18F" "FF","D18F" как видим, субд понимает что такое кодировка текста. 2 проблема. разными виртуальными способами, мы получили ситуацию когда в столбце с кодовой страницей однобайтовой, лежит текст многобайтной кодировки тут идя по варианту 1 можем получать непредвиденные ситуации. по таблице предыдущей создадим такую ошибку update aaa set ch = unhex(hex(ch2)) ; select hex(ch),hex(ch2) from aaa; "D18F","D18F" "D18F","D18F" как видим, теперь в однобайтовой кодировке (первый столбик) лежит буква я записанная в ютф теперь если update aaa set ch2 = ch ; select hex(ch),hex(ch2) from aaa; "D18F","D0A1D08F" "D18F","D0A1D08F" ибо субд каждый байт из первой, закодировала в два байта по правилам второй колонки как уже смекнул читатель, переносить нужно было через функцию unhex(hex(value)) дело в том, что unhex возвращает бинарные вычисленные данные, и как следсвие понятие кодировки к ним субд не применяет, поэтому чтобы перенести данные мужду столбцами с разными кодировками но без перекодирования, нужно ити путём col1 = unhex(hex(col2)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 14:20:59 |
|
||
|
перекодировка из win1251 в UTF-8
|
|||
|---|---|---|---|
|
#18+
alex564657498765453, круть... спасибище... но мой моцк - вспотел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.09.2014, 11:20:39 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=164&tid=1834296]: |
0ms |
get settings: |
6ms |
get forum list: |
22ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
25ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
37ms |
get tp. blocked users: |
2ms |
| others: | 213ms |
| total: | 322ms |

| 0 / 0 |
