在PHP中解析包含德语变音符号( - >ä,ö,ü,Ä,Ö,Ü)的CSV-Strings时遇到了一些问题.
假设以下csv输入字符串:
w;x;y;z
48;OSL;Oslo Stock Exchange;B
49;OTB;Österreichische Termin- und Optionenbörse;C
50;VIE;Wiener Börse;D
Run Code Online (Sandbox Code Playgroud)
用于解析字符串并创建包含csv-String数据的数组的相应PHP代码:
public static function parseCSV($csvString) {
$rows = str_getcsv($csvString, "\n");
// Remove headers ..
$header = array_shift($rows);
$cols = str_getcsv($header, ';');
if(!$cols || count($cols)!=4) {
return null;
}
// Parse rows ..
$data = array();
foreach($rows as $row) {
$cols = str_getcsv($row, ';');
$data[] = array('w'=>$cols[0], 'x'=>$cols[1], 'y'=>$cols[2], 'z'=>$cols[3]);
}
if(count($data)>0) {
return $data;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
使用给定的csv-string调用上述函数的结果导致:
Array
(
[0] => Array
(
[w] …Run Code Online (Sandbox Code Playgroud)