Jin*_*inx 4 mysql joomla collation character-encoding
我将joomla从1.0升级到1.5时遇到了一些问题(我必须一直到1.7;).
无论如何,我的客户端有一个旧的joomla 1.0安装程序,该网站是用克罗地亚语进行的.这意味着我必须处理像Č,č,Ć,ć,Đ,đ这样的人物...旧数据库在latin1_swedish_ci校对中,我已经将它与迁移脚本一起转移到了utf8_general_ci中的joomla 1.5的新数据库.
这导致(如预期的那样)在一些人格混乱中,例如:ć成为è,È - >Č等......
将1.0数据库转换为utf8排序规则不是一种选择,因为它会在第一次出现Č,ć,đ,đ等时切断剩余的内容.
所以,我正在做的是这个查询:
update jos_content
set introtext = replace(introtext, 'È', '?');
Run Code Online (Sandbox Code Playgroud)
这样做是获取joomla内容表,并在所有介绍文本中用Č替换È.
我也为标题做了这个,但是当我尝试使用全文时,我得到了这个错误:
Error
SQL query:
UPDATE jos_content SET FULLTEXT = REPLACE( introtext, 'È', '?' ) ;
MySQL said:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'fulltext = replace(introtext, 'È', 'Č')' at line 2
Run Code Online (Sandbox Code Playgroud)
那么,这是某种内存问题(因为这毕竟是全文)或者我只是做错了什么.另外,如果有更好的方法来替换所有这些字符请告诉我,这是我从MySQL"不可读"的文档中找到的.
FULLTEXT是mysql中的保留字,如果您的列名具有相同的名称,则需要通过后面的刻度(`)进行转义.
UPDATE jos_content SET `FULLTEXT` = REPLACE(introtext, 'È', '?');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3782 次 |
| 最近记录: |