my export.php中的日语字符被乱码
我有export.php中的export to csv函数。 该功能运行良好。只是日语字符的显示是这样显示的:‰∫àÁ¥ÑÊ∏à„Åø 当我在页面和csv文件中回显变量时 字符集已在UTF-8中。 它在其他页面中显示良好。 我不知道下一步该怎么办 这是我的密码:my export.php中的日语字符被乱码,php,character-encoding,export-to-excel,Php,Character Encoding,Export To Excel,我有export.php中的export to csv函数。 该功能运行良好。只是日语字符的显示是这样显示的:‰∫àÁ¥ÑÊ∏à„Åø 当我在页面和csv文件中回显变量时 字符集已在UTF-8中。 它在其他页面中显示良好。 我不知道下一步该怎么办 这是我的密码: public function excel() { $student_id = $_GET['student_id']; $lesson = &Chico::getInstance('Controller_Fro
public function excel()
{
$student_id = $_GET['student_id'];
$lesson = &Chico::getInstance('Controller_Frontend_Lesson');
$defaults = &Chico::getInstance('Model_Defaults');
$get_lesson_history = $lesson->lesson_history(get_user_meta($student_id, 'gge_access_token', true));
$convert_lesson_time = $lesson->convert_lesson_time($get_lesson_history);
$lesson_history = $lesson->sort_history($convert_lesson_time);
$count = 1; $lesson_count = $this->get_lesson_count($lesson_history);
header('Content-Type: text/csv;charset=utf-8');
header(sprintf('Content-Disposition: attachment;Filename=%s.csv', get_user_meta($student_id, 'gge_name', true)));
$outstr = sprintf('PERIOD, %s ~ %s %s', !empty($_GET['begin']) ? $_GET['begin'] : 'Beginning', !empty($_GET['end']) ? $_GET['end'] : 'Present', "\n");
$outstr .= sprintf('STUDENT NAME, %s %s', get_user_meta($student_id, 'gge_name', true), "\n");
$outstr .= sprintf('SKYPE ID, %s %s', get_user_meta($student_id, 'gge_skype', true), "\n");
$outstr .= sprintf('NUMBER OF BOOKINGS, %s %s', $lesson_count, "\n");
$outstr .= sprintf('NUMBER OF LESSONS, %s %s', $lesson_count, "\n\n");
$outstr .= '#, DATE/TIME, TEACHER, STATUS, LESSON, REQUEST, COMMENT';
$outstr .= sprintf('%s', "\n");
if(!empty($lesson_history) && is_array($lesson_history)):
foreach ($lesson_history as $key => $value) {
$lastkey = count($value)-1;
$launched = strtotime($value[$lastkey]['launched']);
$datetime = sprintf('%s %2$s:00 ~ %2$s:50', date(__(get_option( 'date_format' )), $launched), date(__('H'), $launched));
if(strtotime($_GET['begin']) <= $launched && strtotime(sprintf('%s+1 days', $_GET['end'])) >= $launched):
$outstr.= join(',', array($count, $datetime,
$value[$lastkey]['teacher_name'],
$defaults::$status_ja[$value[$lastkey]['status']],
$value[$lastkey]['request_title'],
$value[$lastkey]['request_body'],
$value[$lastkey]['scores']['message']));
$outstr .= sprintf('%s', "\n");
$count++;
endif;
}
else:
$outstr.= join(',', 'No lesson history');
endif;
echo $outstr;
}
以下是csv格式的数据:
地位课
萨米‰∫àÁ¥ÑÊ∏à„Åø
克伦‰∫àÁ¥ÑÊ∏Åø
默认情况下,Excel使用windows-1252编码打开CSV文件。请尝试使用文本编辑器或open Office打开您的CSV文件,您可以在其中选择字符集。请提供有关显示方式和位置的详细信息。是否可能在Excel中打开该文件?是否设置了标题?请尝试输出标题的内容类型:text/csv;字符集=utf-8';嗨@iamseleepy,我试过了,还是一样。可能是我在使用ubuntu并在libre office中打开csv文件的副本。我没有注意到字符集的选项。设置为西部。我改变了,现在开始工作了。阿里加图·戈扎伊马苏!