我有一个TYPO3 v. 4.3.2和索引搜索引擎2.12.0。如果我进行搜索,会看到
à -代替Ö
ü代替ü
所以看起来utf8字符被表示为ISO-8859-1。如果我查看源代码,我看到
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
在TS设置中还有一个
page.config.metaCharset = utf-8
page.config.additionalHeaders = Content-Type:text/html;charset=utf-8
所以它是一个设置从索引搜索扩展?
您需要将数据库和Typo3设置为uft-8。在Typo3中,它与选项forceCharset=utf-8和setDBinit =设置安装工具中的名称utf-8和设置字符集utf-8一起使用。要将mysql数据库转换为utf-8,在命令行输入:
使用以下命令转储原始db:
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;
警告上述操作在字符集之间转换列值。如果您在一个字符集中有一列(例如但存储的值实际上使用其他一些不兼容的字符集(如utf8)。在这种情况下,您必须执行以下操作每个这样的列:
ALTER TABLE t1 CHANGE c1 c1 BLOB;
ALTER TABLE t1 CHANGE c1 c1 TEXT CHARACTER SET utf8;
这样做的原因是当您转换到或时没有转换从BLOB列。"
如果你需要转换内容,你需要转储它并使用我的方法或使用ALTER TABLE tbl_name CHANGE…