diff --git a/Nlbench.sh b/Nlbench.sh index ddb8259..fa9ca0a 100644 --- a/Nlbench.sh +++ b/Nlbench.sh @@ -452,23 +452,22 @@ generate_markdown_output() { local file_suffixes=("yabs" "fusion" "ip_quality" "streaming" "response" "multi_thread" "single_thread" "route") local empty_tabs=("去程路由" "Ping.pe" "哪吒 ICMP" "其他") - echo "[tabs]" | iconv -f UTF-8 -t UTF-8//IGNORE > "$temp_output_file" + # 生成 Markdown 文件内容并确保使用 UTF-8 编码 + echo "[tabs]" > "$temp_output_file" - # 输出有内容的标签 for i in "${!sections[@]}"; do section="${sections[$i]}" suffix="${file_suffixes[$i]}" if [ -f "${base_output_file}_${suffix}" ]; then - echo "[tab=\"$section\"]" | iconv -f UTF-8 -t UTF-8//IGNORE >> "$temp_output_file" + echo "[tab=\"$section\"]" >> "$temp_output_file" echo "\`\`\`" >> "$temp_output_file" - cat "${base_output_file}_${suffix}" | iconv -f UTF-8 -t UTF-8//IGNORE >> "$temp_output_file" + cat "${base_output_file}_${suffix}" >> "$temp_output_file" echo "\`\`\`" >> "$temp_output_file" echo "[/tab]" >> "$temp_output_file" rm "${base_output_file}_${suffix}" fi done - # 添加保留的空白标签 for tab in "${empty_tabs[@]}"; do echo "[tab=\"$tab\"]" >> "$temp_output_file" echo "[/tab]" >> "$temp_output_file" @@ -476,29 +475,25 @@ generate_markdown_output() { echo "[/tabs]" >> "$temp_output_file" - # 生成包含时间戳和随机字符的文件名 + # 确保文件以 UTF-8 编码保存,防止乱码 + iconv -f UTF-8 -t UTF-8//IGNORE "$temp_output_file" -o "${temp_output_file}.utf8" + mv "${temp_output_file}.utf8" "$temp_output_file" + + # 生成时间戳和随机字符串文件名 local timestamp=$(date +"%Y%m%d%H%M%S") local random_chars=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 6 | head -n 1) - local filename="${timestamp}-${random_chars}" - local txt_filename="${filename}.txt" - local html_filename="${filename}.html" - - # 构造完整的URL - local txt_url="http://nodeloc.uukk.de/test/${txt_filename}" - local html_url="http://nodeloc.uukk.de/test/${html_filename}" - - # 创建HTML文件内容 - local html_content="" - - # 上传文件 - if curl -H "Content-Type: text/plain; charset=utf-8" -s -X PUT --data-binary @"$temp_output_file" "$txt_url" && \ - echo "$html_content" | curl -H "Content-Type: text/html; charset=utf-8" -s -X PUT --data-binary @- "$html_url"; then + local filename="${timestamp}-${random_chars}.txt" + local txt_url="http://nodeloc.uukk.de/test/${filename}" + + # 上传文件到 VPS,确保使用 UTF-8 编码 + if curl -H "Content-Type: text/plain; charset=utf-8" -s -X PUT --data-binary @"$temp_output_file" "$txt_url"; then echo "测试结果已上传。您可以在以下链接查看:" echo "$txt_url" else echo "上传失败。结果已保存在本地文件 $temp_output_file" fi + # 删除本地的 Markdown 文件 rm "$temp_output_file" read -p "按回车键继续..." clear