У меня есть строки с некоторыми голландскими символами в CSV-файле, который я должен прочитать в PHP и JS.
Для PHP я использую iconv( "Windows-1252", "UTF-8", $str );
подход для преобразования Windows-1252
в формат UTF-8
. Он отлично работает, когда я использую fgetcsv
и iconv
.
ДЕМО В PHP
CODE IN PHP
<?php function convert( $str ) { return iconv( "Windows-1252", "UTF-8", $str ); } if (($handle = fopen("test.csv", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { echo '<strong>Before Conversion:</strong><br>'; echo '<pre>' . var_dump($data) . '</pre>'; $data = array_map( "convert", $data ); echo '<strong>After Conversion:</strong><br>'; echo '<pre>' . var_dump($data) . '</pre>'; } fclose($handle); } ?>
Теперь, поскольку нет эквивалента iconv
в JS, я попытался запустить PHP-скрипт с AJAX и получить результат.
DEMO в JS (AJAX)
Код: JS:
<script> jQuery.get('test.csv', function(data) { var storeData = data; jQuery.ajax({ url: "stores-encode.php", type: "POST", data: {data: storeData}, success: function(result){ document.write(result); },error: function(){ document.write('error'); } }); }); </script>
PHP (stores-encode.php):
<?php $str = $_POST['data']; $str = iconv( "Windows-1252", "UTF-8", $str ); echo $str; ?>
Если вы проверите демонстрацию, вы увидите строки до и после преобразования. Я не могу выполнить преобразование. Может ли кто-нибудь помочь, как я могу преобразовать наборы символов, чтобы включить эти буквы.
Здесь вы можете посмотреть файл csv.