jQuery Autocomplete插件孟加拉语显示问号Unicode编码问题求助
乱码问题修复方案
你前端已经配置了正确的UTF-8编码声明,不需要修改。孟加拉语显示为问号是数据库链路字符集不统一导致的,按以下步骤修改即可修复:
1. 修改PHP数据库连接配置
在PHP代码的数据库连接成功后,新增字符集设置代码,指定连接使用utf8mb4编码(支持所有Unicode字符,包括孟加拉语):
// Create database connection $con = new mysqli($dbHost, $dbUsername, $dbPassword, $dbName); // Check connection if ($con->connect_error) { die("Connection failed: " . $con->connect_error); } // 新增以下代码 $con->set_charset("utf8mb4");
2. 移除不兼容的字符串处理函数
ucwords是针对英文大小写格式化的函数,不支持孟加拉语,会破坏原有字符编码,修改输出逻辑:
// 修改前 // $output .= '<li>'.ucwords($row['mouja_name']).'</li>'; // 修改后 $output .= '<li>'.$row['mouja_name'].'</li>';
3. 确认数据库字符集配置
确保你的MySQL库namjari、表mouja、字段mouja_name的字符集都设置为utf8mb4,排序规则选择utf8mb4_unicode_ci即可。如果之前用的是latin1等其他字符集,需要修改字符集后重新导入孟加拉语数据才能生效。
额外提示
你当前的SQL查询直接拼接用户输入参数,存在SQL注入风险,建议后续改成预处理查询语句提升安全性。
内容的提问来源于stack exchange,提问作者user12370272
相关产品推荐
相关产品推荐

