Προς το περιεχόμενο

Μετατροπή δεδομένων από utf8_bin σε utf8_general_ci


bikey77

Προτεινόμενες αναρτήσεις

Δημοσ.

Υπάρχει τρόπος να μετατρέψω τα δεδομένα (όχι τους πίνακες και τα πεδία αλλά τα δεδομένα μέσα σε αυτά) από utf8_bin σε utf8_general_ci και αν ναι, ποιος?

Δημοσ.
Υπάρχει τρόπος να μετατρέψω τα δεδομένα (όχι τους πίνακες και τα πεδία αλλά τα δεδομένα μέσα σε αυτά) από utf8_bin σε utf8_general_ci και αν ναι, ποιος?

 

Export το dump, (mysqldump πχ) εφ'οσον μιλάμε για SQL αν όχι το παραλείπουμε αυτό,

 

iconv με παραμέτρους τι ήταν και τι θέλουμε να γίνει*

 

import ξανα μέσα.

 

Αν μιλάμε για SQL πρέπει στο dump να αλλάξουμε και τα attributes όταν

χτίζει τους πίνακες απο bin σε general... (edit το αρχείο κοινώς)

 

*iconv παραδειγμα: iconv -f CP1251 -t UTF-8 basi.sql > basi.utf8.sql

 

:-)

 

 

Μπερδέυτικα αλλά αφήνω και το απο πάνω αν χρειαστεί σε κανενα search αν θέλει κάποιος να κάνει convert απο άλλο character set σε UTF.

 

Αυτό που λογικά θες, η λογική λέει, είναι

 

>mysql --database=dbname -B -N -e "SHOW TABLES" \
| awk '{print "ALTER TABLE", $1, "CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci;"}' \
| mysql --database=dbname &

 

σε ολα-σε-ενα εντολη ή με php

 

><?php
// your connection
mysql_connect("localhost","root","***");
mysql_select_db("db1");

// convert code
$res = mysql_query("SHOW TABLES");
while ($row = mysql_fetch_array($res))
{
   foreach ($row as $key => $table)
   {
       mysql_query("ALTER TABLE " . $table . " CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci");
       echo $key . " => " . $table . " CONVERTED<br />";
   }
}
?>

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...