您需要将数据库和 Typo3 设置为 uft-8。在 Typo3 中,它带有选项 forceCharset=utf-8 和 setDBinit = 在 installtool 中设置名称 utf-8 和设置字符集 utf-8。要在命令行类型中将 mysql 数据库转换为 utf-8:
使用以下命令转储原始数据库:
mysqldump -u root -p --opt --default-character-set=latin1 --skip-set-charset DBNAME > DBNAME
然后使用 sed 我将所有出现的单词 latin1 更改为 utf8:
sed -e 's/latin1/utf8/g' -i ./DBNAME.sql
然后我从这里创建了新数据库,然后导入了转储文件。
mysql -p -e "create database DBNAME"
mysql -p --default-character-set=utf8 DBNAME < DBNAME.sql
这是 mysql 手册中关于 alter table tbl_name CONVERT TO... 所写的内容...
http://dev.mysql.com/doc/refman/5.0/en/alter-table.html
" 如果要更改表格默认字符集和所有字符
列(CHAR,VARCHAR,TEXT)到一个新的字符集,使用这样的语句:
ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;
警告
上述操作在字符集之间转换列值。
如果您在一个字符集中有一列(例如
latin1) 但存储的值实际上使用了其他一些不兼容的
字符集(如 utf8)。在这种情况下,您必须为
每个这样的列:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
之所以有效,是因为当您转换为或
来自 BLOB 列。 "
如果你需要转换你需要的内容,要么转储它并使用我的方法,要么对每一列使用 ALTER TABLE tbl_name CHANGE ...。