如何修复JS文件越南语字符编码异常导致的显示问题
解决越南语字符编码乱码问题
1. 修正代码变量名错误
你的JS文件定义的数组是status1,但前端代码里拼接选项时误用了status[0].name,变量名不匹配会导致无法正确读取目标文本,先修正这个问题:
$('#cmb_stt').append('<option value="9999">'+status1[0].name+'</option>');
2. 确保JS文件以UTF-8无BOM格式保存
本地正常、部署后异常,大概率是JS文件的保存编码出了问题:
- 用VS Code、Notepad++这类编辑器打开
CanBoNhap.js,检查并切换编码为UTF-8无BOM格式(BOM头会干扰服务器对文件编码的解析)。 - 选择对应编码选项覆盖保存原文件。
3. 强制服务器为JS文件返回UTF-8编码响应头
即便你在<script>标签里指定了charset,如果服务器返回的Content-Type头不包含UTF-8声明,浏览器仍会用错误编码解析文件:
- 若使用Apache服务器,在项目根目录的
.htaccess中添加规则:AddType application/javascript .js AddDefaultCharset UTF-8 <FilesMatch "\.js$"> Header set Content-Type "application/javascript; charset=UTF-8" </FilesMatch> - 若使用Nginx服务器,在站点配置的server块中添加:
location ~* \.js$ { default_type application/javascript; charset utf-8; } - 若通过PHP动态加载JS文件,可在输出前设置响应头:
header('Content-Type: application/javascript; charset=UTF-8'); readfile('CanBoNhap.js'); exit;
4. 确认<script>标签的charset属性正确设置
再次检查引入JS的标签,确保charset属性格式正确:
<script type="text/javascript" src="<?php echo __HOST_NAME ?>/modules/scripts/hoptacquocte/tddoitac/CanBoNhap.js" charset="UTF-8"></script>
5. 检查PHP文件的保存编码
确保你的myfile.php也以UTF-8无BOM格式保存,避免PHP输出的HTML本身编码异常影响后续资源解析。
内容的提问来源于stack exchange,提问作者Hung Dang
相关产品推荐
相关产品推荐

