Tag: utf 8

Apache POI – 具有非英文字符的列,例如泰文和单元格为空,然后跳过单元格

我正在尝试使用Apache POI读取Excel文件(.xlsx)。 该文件的一列中有非英文字符,例如公司的公告(มหาชน) 如果单元格有任何值,POI会正确读取单元格,并使用正确的非英文字符。 但是,如果该特定列中的单元格为空,则会读取当前列名称的下一个单元格。 例如,如果第4列具有特殊字符types并且不是空的,则POI将第4列中的值适当地映射到该列中的值。 但是,如果第4列具有特殊字符types且IS为空,则POI将第4列中的值映射到第4列。 这破坏了完整的结构和cellIterator。 请让我知道是什么问题,以及如何解决? 帮助将不胜感激。 谢谢!

Excel到特殊字符的CSV?

我有1000行,其中许多包含中文或特殊字符。 我尝试将我的excelfile upload到Google工作表并作为CSV文件下载。 然而,而不是显示一个? (就像我试图通过excel保存为CSV一样)字符,它只是显示其他随机字符。 我需要做什么?

getBytes返回没有BOM的UTF-8

我以这种方式通过电子邮件发送一个txt文件。 文件的数据在一个StringBuffer中。 文件构build: StringBuffer lBufferFinal = new StringBuffer(); // Put some text in lBufferFinal FichierByteVO lFichier = new FichierByteVO(); lFichier.setFileName("Statistic.txt"); lFichier.setMIMEType("text/plain"); lFichier.setFile(lBufferFinal.toString().getBytes(Charset.forName("UTF-8"))); 在电子邮件中添加文件: MimeMessage lMessage = new MimeMessage(lSession); // Do thing tu put sender, receiver, subject etc to the MimeMessage Multipart = new MimeMultipart(); BodyPart lMessageBodyPart = new MimeBodyPart(); lMessageBodyPart.setText("Here is an email !"); lMultipart.addBodyPart(lMessageBodyPart); […]

阅读用python提取的推文

我正在尝试阅读excel中的推文。 Tweets已经被python (和tweepy )检索,然后保存在一个csv文件中: # -*- coding: utf-8 -*- writer= csv.writer(open(r"C:\path\twitter_"+date+".csv", "w"), lineterminator='\n', delimiter =';') writer.writerow(["username", "nb_followers", "tweet_text"]) auth = tweepy.OAuthHandler(consumer_key, consumer_secret) auth.set_access_token(access_token_key, access_token_secret) api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True) for tweet in tweepy.Cursor(api.search, q="dengue+OR+%23dengue", lang="en", since=date, until=end_date).items(): username=tweet.user.screen_name nb_followers=tweet.user.followers_count tweet_text=tweet.text.encode('utf-8') writer.writerow([username, nb_followers, tweet_text]) 由于utf-8编码,我有问题在文本编辑器或Excel中阅读。 比如这个推文: 在Excel中给出这个: b"\xe2\x80\x9c@ThislsWow: I want to do this \xf0\x9f\x98\x8d http://t.co/rGfv9e70Tj\xe2\x80\x9d pu\xc3\xb1eta […]

在VBA StrConv中使用Unicode

我有一个Excel文件和一个用户表单,用户可以input学生的详细信息,表单将检查重复,然后将信息添加到表的最后一行。 我想通过使用这个代码使表单大写每个名字的第一个字母来进一步改进: Me.Surname.Value = StrConv(Me.Surname.Value, vbProperCase) Me.Surname.Value是表单的input,主要是Trần,Nguyễn,Thảo等越南语。但是,在经过StrConv之后,它们变成了类似Tr?n,Nguy?n,Th?o的东西。 我读了一些build议,并将我的语言环境更改为越南语,但问题仍然存在。 你有什么build议来解决这个问题吗? 我正在考虑将input转换为hex值,然后使用ChrW()写下来,但我找不到一种方法来做到这一点。

从GridView导出到Excel不正确地显示波斯语

绑定GridView的SqlDataSource,我写下面的代码从GridView导出到Excel: System.IO.StringWriter sw = new System.IO.StringWriter(); HtmlTextWriter hw = new HtmlTextWriter(sw); Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "application/vnd.ms-excel"; Response.AddHeader("Content-Disposition", "attachment;filename=" + FileName); gvReportPrint.GridLines = GridLines.Both; gvReportPrint.Font.Name = "'BYekan'"; foreach (GridViewRow row in gvReportPrint.Rows) { row.Cells[2].Attributes.Add("class", "textmode"); } string style = @"<style> .textmode { mso-number-format:\@; } </style>"; gvReportPrint.HeaderStyle.Font.Bold = true; Response.Write(style); gvReportPrint.RenderControl(hw); Response.Output.Write(sw.ToString()); Response.End(); 在从GridView导出到Excel的过程中,unicode字符不能正确显示,它们显示如下: – >单击此链接显示问题< –

以UTF-8格式导出html表格到Excel文件

我使用上面的代码将html表导出为ex​​cel文件。 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="application/vnd.ms-excel; charset=UTF-8"> <meta charset="UTF-8" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script> <script lang="js"> function fnExcelReport() { var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">'; tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'; tab_text = tab_text + '<x:Name>Test Sheet</x:Name>'; tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>'; tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>'; tab_text = tab_text + "<table border='1px'>"; tab_text = tab_text + […]

用俄文字符写入numpy.ndarray文件

我尝试写numpy.ndarray文件。 我用 unique1 = np.unique(df['search_term']) unique1 = unique1.tolist() 然后再试1) edf = pd.DataFrame() edf['term'] = unique1 writer = pd.ExcelWriter(r'term.xlsx', engine='xlsxwriter') edf.to_excel(writer) writer.close() 和2) thefile = codecs.open('domain.txt', 'w', encoding='utf-8') for item in unique: thefile.write("%s\n" % item) 但是,所有返回的UnicodeDecodeError: 'utf8' codec can't decode byte 0xd7 in position 9: invalid continuation byte

我怎样才能得到在C#中的Excel文件的编码? 它总是返回“Windows 1252”

if (bom[0] == 0xef && bom[1] == 0xbb && bom[2] == 0xbf) // BOM Check { encodingType = Encoding.UTF8;// UTF8 Returns } 我保存文件为UTF8编码,但这部分总是被跳过

处理CSV文件从Excel到MySQL生成“不正确的string值”错误

我已经通过博客,Google和堆栈溢出进行了大量search。 我还没有find我的问题的工作解决scheme。 在我的PHP应用程序中,它允许用户下载一个csv模板(包含标题),以便将数据导入到系统中。 除非在CSV文件中使用特殊/外部字符(Umlaut,Acute,Grave)来导入其中一行,否则一切都会很好。 用户正在下载CSV,然后在Excel中打开它(在安装了Office的大多数系统上是默认的)。 从我看到和理解的时候,他们添加到他们想要导入的文件的一切,并单击保存在Excel中,它不正确的编码。 一旦他们上传更改后的文件,PHP将迭代CSV插入数据到MySQL数据库中,则会失败,如第1行“无法更新logging1366:不正确的string值:'\ x9Arn's …'列'rawContents' 。 我不是在寻找像“不要使用Excel”的解决scheme,因为这不是一个选项。 我正在寻找一个解决scheme来获取上传的文件,并确保编码设置为UTF-8,以便正确读入数据库。 目前我正在捕捉exception,如果它包含错误“不正确的string值”我输出一个友好的消息,用户有无效的数据,检查编码,然后再试一次。 我希望能够处理他们的CSV无论和无效数据行(如果我不能读取它)将被忽略和存储为我所谓的“错误行”(任何行包含一个错误(用户input无效通过validation的列),他们可以看到什么行,为什么,并导出另一个只包含错误的行的CSV) 我希望这不是太混乱或不清楚。 我find了一种方法来检测一个非UTF8字符的行,使用以下内容: function utf8_clean($str, $ignore = true) { return iconv('UTF-8', 'UTF-8//' . (($ignore) ? 'IGNORE' : 'TRANSLIT'), $str); } function contains_non_utf8($str) { return (serialize($str) != serialize(utf8_clean($str))); } 如果有一些方法来修复编码,并获得正确的字符编码来存储它,那就太棒了。 我想要做的第二个select是我提到的“错误行”,所以如果我不能以正确的编码得到它,我想存储它导出“错误行”CSV文件来解决这些错误。 但我不知道如何存储该行的“原始”包含,以允许将其导出为CSV中的错误行。 请随时向我提出想法,我可以做些什么。 我想过的一个select是支持Excel文件导入,因为它似乎保留UTF-8编码保存,如果设置在模板文件,但我真的很想看到仍然支持CSV的方式。 我试图用“macroman”来获取数据,看起来非常有效,但是也遇到了这个问题。 现在我有一个try / catch语句类似于: try { $this->saveImportRow($array) } catch […]