我的知识记录

虚拟主机搜索URL编码_CMS编码选择

万网虚拟主机网站搜索关键字乱码,是页面编码、PHP 文件编码、数据库字符集三者不一致导致的。统一用 UTF-8 是最省事的方案,GBK 站点搜索 UTF-8 关键词或反过来都会乱码。搜索前用 iconv 或 mb_convert_encoding 转码,保证关键词和数据库编码一致。

PHP 搜索转码代码:$keyword = $_GET['keyword']; $keyword = mb_convert_encoding($keyword, 'UTF-8', 'auto'); auto 自动检测编码(UTF-8, GBK, BIG5)。或用 iconv('GBK', 'UTF-8//IGNORE', $keyword),//IGNORE 忽略无法转换的字符。转码后再拼 SQL 搜索。

参考(数据库连接字符集): ``` <?php // MySQLi $mysqli = new mysqli('localhost', '用户', '密码', '数据库'); $mysqli->set_charset('utf8mb4');

// PDO $pdo = new PDO('mysql:host=localhost;dbname=数据库;charset=utf8mb4', '用户', '密码');

// 旧版mysql(已废弃) mysql_query('SET NAMES utf8mb4');

-- 查看数据库字符集 SHOW VARIABLES LIKE 'character%'; -- 修改表字符集 ALTER TABLE 表名 CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ```

转码完用 nslookup 检测确认。搜索中文关键词看结果是否正确,URL 里的关键词是否正常编码,F12 看请求参数编码。搜索结果页面标题和摘要不乱码。不同浏览器(Chrome、Firefox、IE)测试,IE 对 GBK 编码处理不同,重点测。

搜索引擎蜘蛛的搜索页面不要收录。搜索结果页 URL 带参数,内容重复度高,百度收录后会判定为低质量页面。用 robots.txt Disallow 搜索页,或搜索页加 noindex。搜索功能给用户用,不给蜘蛛抓。

虚拟主机搜索URL编码_CMS编码选择

标签:

更新时间:2026-08-27 11:07:36

上一篇:thinkphp6 public目录作为网站根目录_入口文件配置完整教程

下一篇:华为云虚拟主机组件支持_curl支持查询