Heim> PHP-Framework> Laravel> Hauptteil

Laravel Import Excel Chinesisch wird nicht angezeigt

WBOY
Freigeben: 2023-05-20 22:22:36
Original
591 Leute haben es durchsucht

In Laravel ist die Verwendung von Maatwebsite/Laravel-Excel eine sehr bequeme Möglichkeit, Excel-Dateien zu verarbeiten. Wenn die importierte Excel-Datei jedoch manchmal Chinesisch enthält, zeigt Laravel die chinesischen Zeichen in der Datenbank manchmal nicht korrekt an. In diesem Artikel wird dieses Problem untersucht und einige Lösungen bereitgestellt.

Problembeschreibung

Bei der Verwendung von Maatwebsite/Laravel-Excel zum Importieren von Tabellen in Laravel-Anwendungen werden chinesische Schriftzeichen manchmal verstümmelt oder falsch angezeigt. Dieses Problem tritt normalerweise in den folgenden Situationen auf:

  1. Nichtübereinstimmung der Datenbankkodierung: Wenn die Kodierungsmethode der Datenbank nicht mit der Kodierungsmethode in der Excel-Datei übereinstimmt, werden chinesische Schriftzeichen beschädigt.
  2. Fehler bei der Kodierung der Excel-Datei: Wenn die Kodierungsmethode in der Excel-Datei nicht mit der tatsächlichen Kodierungsmethode übereinstimmt, werden auch chinesische Schriftzeichen beschädigt.

Lösung

  1. Überprüfen Sie die Datenbankkodierung

In Laravel bezieht sich die Datenbankkodierung auf die Datei AppServiceProvider.php. In dieser Datei können Sie die Datenbankkodierung festlegen. Wenn Sie eine MySQL-Datenbank verwenden, können Sie diese in dieser Datei festlegen:

use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesSchema;
class AppServiceProvider erweitert ServiceProvider
{

public function boot() { Schema::defaultStringLength(191); DB::statement('SET NAMES utf8mb4'); DB::statement('SET CHARACTER SET utf8mb4'); }
Nach dem Login kopieren

}

Im obigen Code haben wir die Datenbankkodierung auf eingestellt utf8mb4 kann das Problem gelöst werden, indem die Codierung in der Datei so eingestellt wird, dass sie mit der in der Excel-Datei übereinstimmt.

  1. Überprüfen Sie die Kodierung der Excel-Datei.

Wenn die Kodierungsmethode in Ihrer Excel-Datei nicht mit der tatsächlichen Kodierungsmethode übereinstimmt, tritt beim Import das Problem verstümmelter chinesischer Zeichen auf. Daher müssen wir vor dem Import der Excel-Datei sicherstellen, dass die Excel-Datei korrekt codiert ist. Eine einfache Möglichkeit ist:

Speichern Sie die Excel-Datei vor dem Öffnen als TXT-Datei und importieren Sie dann die TXT-Datei. Dadurch wird sichergestellt, dass die Kodierung korrekt ist.

Zum Beispiel:

$reader = MaatwebsiteExcelExcel::load('excel.xls')->toCsv('excel.csv');
$csvData = file_get_contents('excel.csv');
$csvData = mb_convert_encoding ($csvData, 'UTF-8', 'UTF-8');
$csvFile = fopen('excel.csv', 'w');
fwrite($csvFile, $csvData);
fclose($csvFile ) ;
$reader = MaatwebsiteExcelExcel::load('excel.csv')->get();

In diesem Beispiel konvertieren wir die Excel-Datei in eine CSV-Datei und konvertieren sie dann in die UTF-8-Kodierung. Bitte beachten Sie, dass dieser Ansatz nicht der beste ist und Sie möglicherweise weitere Anpassungen vornehmen müssen, um die Richtigkeit Ihrer Daten sicherzustellen.

Fazit

Der Umgang mit dem Problem der chinesischen Schriftzeichen ist keine leichte Aufgabe. Nach der Diskussion in diesem Artikel haben wir jedoch die grundlegenden Lösungen verstanden. Sollten weiterhin Probleme mit Fehlern beim Import chinesischer Zeichen auftreten, überprüfen Sie bitte weiterhin die Codierung Ihrer Datenbank und Excel-Datei und nehmen Sie die erforderlichen Anpassungen vor.

Das obige ist der detaillierte Inhalt vonLaravel Import Excel Chinesisch wird nicht angezeigt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!