我有一个导出CSV文件的PHP脚本。我的用户然后在Excel中编辑文件,保存它,并重新上传它。
如果他们在字段中键入欧元符号,则在上载文件时,欧元符号以及之后的所有内容都将丢失。我正在使用str_getcsv函数。
如果我尝试转换编码(比如UTF-8),欧元符号就会消失,我会得到一个缺少的字符标记(通常由一个空白的正方形或菱形中的问号表示)。
如何将编码转换为UTF-8,同时保留欧元符号(和其他非标准字符)?
编辑:
这是我的密码:
/**
* Decodes html entity encoded characters back to their original
*
* @access public
* @param String The element of the array to process
* @param Mixed The key of the current element of the array
* @return void
*/
public function decodeArray(&$indexValue, $key)
{
$indexValue = html_entity_decode($indexValue, ENT_NOQUOTES, 'Windows-1252');
}
/**
* Parses the contents of a CSV file into a two dimensional array
*
* @access public
* @param String The contents of the uploaded CSV file
* @return Array Two dimensional-array.
*/
public function parseCsv($contents)
{
$changes = array();
$lines = split("[\n|\r]", $contents);
foreach ($lines as $line) {
$line = utf8_encode($line);
$line = htmlentities($line, ENT_NOQUOTES);
$lineValues = str_getcsv($line);
array_walk($lineValues, 'decodeArray');
$changes[] = $lineValues;
}
return $changes;
我还尝试了以下替代utf8_编码功能:
iconv("Windows-1252", "UTF-8//TRANSLIT", $line);
而且还只是:
$line = htmlentities($line, ENT_NOQUOTES, 'Windows-1252');
使用utf8_encode函数,将从字符串中删除违规字符。与任何其他方法,字符和字符后的一切都丢失了。
例子:
字段值:"促销€Mobile"
解释为:“Promo Mobile”
将这些添加到CSV文件的开头
chr(239) . chr(187) . chr(191)
当我导入包含一些国家/地区的CSV文件时,我遇到了一些字符的问题。它没有很好的编码然后我得到了?标记,而不是CSV文件中写入的字符。这里有一些国家让我面临这个问题:奥兰群岛、圣巴特勒米、科特迪瓦、库拉索岛。 下面是导入csv文件的代码: 首先我使用了FileReader,所有这些国家都出现了问题,然后我改为InputStreamReader并添加了这个UTF-8字符集,问题几乎解决了。当我使用字符
所以我有这个文件(http://mountainmarathon.ch/components/com_chronoconnectivity6/chronoconnectivity/uploads/20190814194827_classifica-cat-standard-3.csv)哪个“应该”用utf-8编码。当我试图通过fgetcsv或file_get_内容读取内容时,我得到了那些黑色钻石,
我需要将javascript数组导出到excel文件并下载它,我正在此代码中执行此操作。数据是一个脚本对象数组。 所有这些都很好,直到我有了非英语字符的字符串属性,比如西班牙语、阿拉伯语或希伯来语。如何使用所有这些非ASCII值进行导出?
我一直在读很多帖子,包括这篇 Javascript导出CSV编码utf-8问题 我知道很多人提到这是因为microsoft excel,使用这样的东西应该是可行的 https://superuser.com/questions/280603/how-to-set-character-encoding-when-opening-excel 我在ubuntu(它甚至没有任何问题)上试过,在window
我需要导出javascript数组到CSV文件和下载。我这么做了,但是'ó,ü,ö,ó,ş'这些字符在CSV文件中看起来像'\\\\\\\\\\\'。我已经尝试了这个网站上推荐的许多解决方案,但对我不起作用。 我添加了我的代码片段,有人能解决这个问题吗?
问题内容: 我正在为我的一个项目使用Elasticsearch Logstash和Kibana构建概念证明。我的仪表板的图形工作正常。我的项目的要求之一是能够下载文件(csv / excel)。在kibana中,我看到的唯一下载文件的选项是单击创建的可视化文件上的“编辑”按钮。是否可以在仪表板上添加链接,使用户无需进入编辑模式即可下载文件。其次,我想禁用/隐藏除查看仪表板之外的任何人的编辑模式。谢