|
|
|
|
||||||
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 (permalink) |
|
Messages: n/a
Hébergeur: |
if a table column is supposed to contain text in iso-8859-1, but utf-8
encoding have snuck in on a few rows by mistake, how are these rows converted into iso-8859-1? what i am looking for is something like this: update mytable set mycolumn = utf8toiso88591(mycolumn) where id between 500 and 600; |
|
|
|
#2 (permalink) |
|
Messages: n/a
Hébergeur: |
On Thu, 30 Aug 2007 11:41:14 +0200, "Olav Mørkrid" <olav.morkrid@gmail.com> said: > if a table column is supposed to contain text in iso-8859-1, but utf-8 > encoding have snuck in on a few rows by mistake, how are these rows > converted into iso-8859-1? > > what i am looking for is something like this: > > update mytable set mycolumn = utf8toiso88591(mycolumn) where id > between 500 and 600; > I don't know if mysql has this charset converting routine. But you can do it by application scripts,ie,in perl you can convert them by, use Encode; my $iso_str = encode('iso-8859-1',decode('utf8',$utf8_str)); first you select utf8 string from db one by one and store it to $utf8_str,then use the function above to be converted to iso-8859-1,then insert it again to mysql. -- Ken Peng kenpeng@fastmail.fm -- http://www.fastmail.fm - Accessible with your email software or over the web |
|
|
|
#3 (permalink) |
|
Messages: n/a
Hébergeur: |
yep, thru php it's easy: just do a utf8_decode($value). but is it
possible directly from the mysql command line. On 31/08/2007, Ken Peng <kenpeng@fastmail.fm> wrote: > > On Thu, 30 Aug 2007 11:41:14 +0200, "Olav Mørkrid" > <olav.morkrid@gmail.com> said: > > if a table column is supposed to contain text in iso-8859-1, but utf-8 > > encoding have snuck in on a few rows by mistake, how are these rows > > converted into iso-8859-1? > > > > what i am looking for is something like this: > > > > update mytable set mycolumn = utf8toiso88591(mycolumn) where id > > between 500 and 600; > > > > I don't know if mysql has this charset converting routine. > But you can do it by application scripts,ie,in perl you can convert them > by, > > use Encode; > my $iso_str = encode('iso-8859-1',decode('utf8',$utf8_str)); > > first you select utf8 string from db one by one and store it to > $utf8_str,then use the function above to be converted to iso-8859-1,then > insert it again to mysql. > -- > Ken Peng > kenpeng@fastmail.fm > > -- > http://www.fastmail.fm - Accessible with your email software > or over the web > > |
|
![]() |
| Outils de la discussion | |
|
|