【发布时间】:2011-03-25 04:18:20
【问题描述】:
我使用 Sphider 作为我网站的搜索引擎,它非常易于使用,但我在本地化字符方面遇到了一些重大问题。
我所有的 html/php 页面都将字符集定义为 UTF-8,当我第一次使用 Sphider“蜘蛛”抓取它创建的网站时,Sphider 的搜索和结果页面都有 charset=ISO-8859-1我所有的本地化字符都变成了一些我不知道的编码:
“ç”变成“ç”等等与“ã”,“á”等
当我在 MySql 中创建数据库时,我将其设为 utf-8_general_ci,我对数据库的定义是: MySQL 字符集:UTF-8 Unicode (utf8) MySQL 连接排序规则:utf-8_unicode_ci
这是一个真正的问题,因为搜索无法正常工作,例如,如果我搜索“diferença”,它会在 url 中显示为“?query=diferença&search=1”,这是正确的,但不会在“建议搜索”它会显示为“diferen�a”,以防它不可见,“ç”变成了一个黑色方块,上面有一个白色问号。
我相信蜘蛛可能有不同的工作字符集,但如果是这样的话,我似乎无法理解。也主要向英语发展,我相信不难理解它在此过程中遇到了一些问题。
有没有人有这方面的经验或者我应该怎么做才能解决这个问题?
真正困扰我的是不明白为什么我会在数据库中得到奇怪的符号。
【问题讨论】:
标签: php mysql character-encoding search-engine