在 ASP .NET MVC 要輸出 UTF-8 CSV 檔案時被 BOM 給搞死了,還好有黑大,有黑大真好。
同時也有9部Youtube影片,追蹤數超過4萬的網紅吳老師教學部落格,也在其Youtube影片中提到,從EXCEL VBA自動化到Python程式開發入門第2次上課(建置Python開發環境重點回顧&環境相關與懶人包設定方式&基本語法與ECLIPSE建立專案&字串串接與解決中文編碼&轉換型別&脫逸字元說明) 上課內容: 01_建置Python開發環境重點回顧 02_環境相關與懶人包說明 03_PY...
中文編碼 在 Dung Kai-cheung 董啟章 Facebook 的最佳貼文
明周專欄:自己和他人的書
上次談過「自己的書」,今次談談「自己和他人的書」。這樣說有點拗口,但沒辦法,實在沒有更適合的說法。所謂「自己和他人的書」,就是蘊含了或者見證了自己和他人的關係的書。它可以是和另一個人一起讀過的書,或者自己讀這本書的時候正和另一個人有着某種深層的連繫。當然也可以是另一個人送贈給你,非常有紀念價值的書。總之,這種書不但對自己個人具有意義,這意義亦包含着和另一個人的親密關係。
第一本我想說的書,嚴格來說不算是書,而是一本實用的小冊子。二十年前我父親剛剛退休,我萌生了寫一本關於我們家三代人的歷史故事,也即是後來的《天工開物.栩栩如真》。我和父親做了一個訪談,請他憶述他的童年成長經歷。我祖父本來是從事無線電工作的。要傳送無線電信息,需要用摩斯密碼。中文字也編成了電碼本,可以按碼傳送。我到書局找,果然找到《新編標準電碼本》,應該跟祖父當年用的差不多。後來我把中文編碼用在我的小說裏,作為阿爺董富和阿嫲龍金玉的秘密溝通方式。這本小冊子,不但載有我寫這本小說的經歷,也同時把我和我的父祖連繫上,就好像一本小小的魔法書一樣。
夏丏尊和葉聖陶的《文章講話》,是我中學的時候已經讀過的書。當時的那本已經丟失了。現在談的是後來補買的一本。這本書是我讀過的最好的文章寫作教材,表面看好像和別的教作文的書差不多,以針對考試來說甚至不及坊間的其他「雞精書」。但是,正正是因為它並沒有功利(求分數)的目的,才能純粹地直面寫作本身最重要的東西。與其說它教導了我什麼技巧,不如說它傳達了一種關於文字運用和文章作法的開放而寛容的精神。它之所以成為「自己和他人的書」,是因為我認識我妻子的機緣,是和她合作寫一本香港作家訪問和評論集。她負責訪問而我負責評介。因為我們都很喜歡《文章講話》,所以便把我們的書稱為《講話文章》,以表達對前人敬意。後來我們在主持電台節目《開卷樂》的時候,也談過這本書。
另一本和妻子有關的書,是中山美穗一九九七年的攝影集。當時我們新婚,看了竹中直人自編自導自演的電影《東京日和》。故事以日本著名攝影家荒木經惟為原型,竹中直人自己扮演荒木,中山美穗則飾演荒木的妻子陽子。我不肯定電影有多忠誠地呈現荒木的真實人生,裏面的焦點是兩人的婚姻生活,調子是溫暖而帶點哀愁的。簡單地說就是一個愛情故事。後來我買了相關的攝影集,當然不是荒木的手筆,而是劇照和一些幕後畫面。我既不像荒木或竹中直人,我妻也不像陽子或中山美穗。但是,這本攝影集卻留住了某些屬於我和妻子的東西。
婚後五年,妻子懷着孩子的時候,我們苦苦思索着給他什麼名字。當時也斯剛在牛津出版社重出了他寫於七十年代的台灣旅行散文,書名叫《新果自然來》。我們便擅自挪用了「新果」二字,作為兒子的名字。沒有這本書,我們的兒子也就不會叫做「新果」,而是不知什麼的別的名字了。這真是個決定性的偶然。
陪伴兒子的成長,陸續出現了許多有紀念價值的書。當然,這只是對作為父親的我而言,對兒子則未必。養育兒女的一個必然的悲哀是,對於他們的幼年,父母記得的往往比他們自己多。父母很重視的片段,他們很可能已經淡忘。我們和幼小的新果看過的書也是如此。其中有兩本繪本,很值得收藏。它們除了是當年我和兒子反覆看過多遍的書,本身也是繪本界的經典作品。
第一本是Maurice Sendak的《Outside Over There》,中文譯作《在那遙遠的地方》。第一次知道這本書,是看大江健三郎的《換取的孩子》,裏面多次提到繪本中的情節和意象。故事一開始父親就不知為什麼出海遠去了,母親只懂呆呆的等着丈夫回來。照顧小弟弟的責任落在女生愛達身上。後來弟弟被小鬼們以冰造的嬰兒偷換了,勇敢的愛達吹着號角,浮在空中,飛往「外面那邊的世界」(outside over there)把弟弟從小鬼的手裏救回來。兒子最喜歡看的是冰嬰兒融化的畫面,和那些穿著有帽長袍、不見臉的小鬼。他也很疑惑那個父親去了哪裏,為什麼那麼久也不回來,丟下家人不理。
另一本同樣是著名繪本,Helen Ward和Wayne Anderson的《The Tin Foret》。這本書最先是在公共圖書館兒童部看的中譯本,叫做《錫森林》。一個負責管理垃圾場的獨居老伯伯,夢見自己生活在一個植物豐盛,動物繁多的森林裏。他於是決心以廢物來打造一座森林。他把棄置金屬造成了一個錫森林,裏面有各種各樣的錫動物,但是,他依然感到空虛和寂寞。有一天,飛來了一隻小鳥。物帶來了新鮮的種子。森林開始長出真正的植物,引來了各種動物、鳥兒和昆蟲。一個失落已久的森林重新長出來,活潑的生命陪伴着老人一起生活下去。
我不知道幾歲大的兒子能不能感受到當中的意思。他最感興趣的是逐一尋找和指出那些隱藏在森林裏的真假動物。這兩本書我和他讀過超過一百次,每次都講相同的對白,好像一個必經的儀式一樣。到了今天,我覺得這兩本書很重要,一直好好收藏着,但他卻不甚了了。也許,書的內容已經埋藏在他的潛意識裏。做父母的總是這樣想:跟孩子做的每一件事,沒有一件是白費的。我把這些繪本視為「屬於父子倆的書」,希望不會只是一廂情願吧。
中文編碼 在 吳老師教學部落格 Youtube 的最佳解答
從EXCEL VBA自動化到Python程式開發入門第2次上課(建置Python開發環境重點回顧&環境相關與懶人包設定方式&基本語法與ECLIPSE建立專案&字串串接與解決中文編碼&轉換型別&脫逸字元說明)
上課內容:
01_建置Python開發環境重點回顧
02_環境相關與懶人包說明
03_PYTHON懶人包設定方式說明
04_基本語法與ECLIPSE建立專案
05_字串串接與解決中文編碼
06_轉換型別說明
07_脫逸字元說明
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3PgGSI9YvHKyL523JmfCS_7E&disable_polymer=true
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/16
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

中文編碼 在 吳老師教學部落格 Youtube 的最佳解答
從EXCEL VBA自動化到Python程式開發入門第2次上課(建置Python開發環境重點回顧&環境相關與懶人包設定方式&基本語法與ECLIPSE建立專案&字串串接與解決中文編碼&轉換型別&脫逸字元說明)
上課內容:
01_建置Python開發環境重點回顧
02_環境相關與懶人包說明
03_PYTHON懶人包設定方式說明
04_基本語法與ECLIPSE建立專案
05_字串串接與解決中文編碼
06_轉換型別說明
07_脫逸字元說明
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3PgGSI9YvHKyL523JmfCS_7E&disable_polymer=true
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/16
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

中文編碼 在 吳老師教學部落格 Youtube 的最佳貼文
從EXCEL VBA自動化到Python程式開發入門第2次上課(建置Python開發環境重點回顧&環境相關與懶人包設定方式&基本語法與ECLIPSE建立專案&字串串接與解決中文編碼&轉換型別&脫逸字元說明)
上課內容:
01_建置Python開發環境重點回顧
02_環境相關與懶人包說明
03_PYTHON懶人包設定方式說明
04_基本語法與ECLIPSE建立專案
05_字串串接與解決中文編碼
06_轉換型別說明
07_脫逸字元說明
完整影音
https://www.youtube.com/playlist?list=PLYDN7SApJ3PgGSI9YvHKyL523JmfCS_7E&disable_polymer=true
教學論壇(之後課程會放論壇上課學員請自行加入):
https://groups.google.com/forum/#!forum/labor_python_2017
懶人包:
EXCEL函數與VBA http://terry28853669.pixnet.net/blog/category/list/1384521
EXCEL VBA自動化教學 http://terry28853669.pixnet.net/blog/category/list/1384524
課程簡介:入門
建置Python開發環境
基本語法與結構控制
迴圈、資料結構及函式
VBA重要函數到Python
檔案處理
資料庫處理
課程簡介:進階
網頁資料擷取與分析、Python網頁測試自動化、YouTube影片下載器
處理 Excel 試算表、處理 PDF 與 Word 文件、處理 CSV 檔和 JSON 資料
實戰:PM2.5即時監測顯示器、Email 和文字簡訊、處理影像圖片、以 GUI 自動化來控制鍵盤和滑鼠
上課用書:
參考書目
Python初學特訓班(附250分鐘影音教學/範例程式)
作者: 鄧文淵/總監製, 文淵閣工作室/編著?
出版社:碁峰?出版日期:2016/11/29
Python程式設計入門
作者:葉難
ISBN:9789864340057
出版社:博碩文化
出版日期:2015/04/02
吳老師 106/9/16
EXCEL,VBA,Python,新北市勞工大學,EXCEL,VBA,函數,程式設計,線上教學,PYTHON安裝環境

中文編碼 在 [問題] R中文編碼(MS950)問題- 看板R_Language - 批踢踢實業坊 的必吃
[問題類型]:
程式諮詢(我想用R 做某件事情,但是我不知道要怎麼用R 寫出來)
[軟體熟悉度]:
入門(寫過其他程式,只是對語法不熟悉)
[問題敘述]:
最近開始在學用R寫爬蟲,而今天下午試著要爬證交所的股票代碼列表時發現他們似乎
是使用MS950編碼,但是這個編碼R卻無法認得。(參見程式碼部分)
後來還有試過用utf-8和big5硬推,也試著用tmcn去轉碼,但是中文部分還是只得到亂碼。
因此想請問是否有什麼方法可以繞過這個問題?
(把原網頁資料抓下來存成csv轉碼後再丟給R不在考慮之列)
[程式範例]:
只附上一開始用MS950的程式碼,big5和utf-8的結果大同小異。
另外最後res和ress的output不知道為什麼無法完整貼上,但總之遇到中文都是亂碼就是了
> rm(list=ls())
>
> library(tmcn)Q
> library(httr)
> library(rvest)
> library(stringr)
> library(magrittr)
>
> r<-GET("https://isin.twse.com.tw/isin/C_public.jsp?strMode=2")
> r
Response [https://isin.twse.com.tw/isin/C_public.jsp?strMode=2]
Date: 2015-12-29 10:15
Status: 200
Content-Type: text/html;charset=MS950
Size: 2.69 MB
Unknown encoding MS950. Defaulting to latin1 (ISO-8859-1).
<link rel="stylesheet" href="https://www.tse.com.tw/style1.css" type=...
<body><table align=center><h2><strong><font class='h1'>¥蠊
> res<-r$content%>%read_html(encoding="MS950")%>%
+ html_node(".h4")%>%html_nodes(xpath="tr")%>%html_text()
> ress<-toUTF8(res)
> res[1:5]
[1] "礎糧罈羅\xc3砥国並怏代繡繒瞻\xc3缃名繙\xc3\x99 簞礙罈\xc3斾砥国並怏螢姻砥
'蜃嗽碼(ISIN Code)瞻W瞼竄瞻矇瞼竄糧繭禮O簡瞿繚~禮OCFICode糧\xc3屡腕\xb9"
[2] " 穠\xc3'笨\xbc "
[3] "1101 癒@瞼x穠dTW00011010041962/02/09瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR"
[4] "1102 癒@穡\xc3鱿泥TW00011020021962/06/08瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR"
[5] "1103 癒@繒\xc3埘泥TW00011030001969/11/14瞻W瞼竄瞻繫穠d瞻u繚~ESVUFR"
> ress[1:5]
[1] "| 3 瞼N繡繒瞻\xc3缃名繙\xc3\x99 簞礙罈\xc3斾
[2] " ªÑ2 ¼ "
[3] "1101 !
[4] "1102 !
[5] "1103 !
[環境敘述]:
Win7 64位元
R 3.2.3 (2015/12/10)
[關鍵字]:
中文編碼 MS950 tmcn
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.109.122.150
※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1451397792.A.742.html
承前面,把r定義出來後實驗性的做了以下幾種解析方法,結果都有點不同。
如果用content然後強迫編MS950會出現編碼不對的狀況,但顯然改成Big5也不會比較對
(即下面的res1和res2)
而如果使用read_html的話,不論是塞Big5和MS950結果都是一樣(res3和res4)
甚至如果是直接把網址塞進read_html並使用Big5的話還會直接出錯(res5,這幾天在
另一個確定是用Big5編碼的網站也出了一樣的狀況,那個網站後來是靠用content編Big5加
上tmcn的toUTF8解決掉。但這次爬的網頁就無法這麼處理)
> res1<-content(r,encoding="MS950")
Unknown encoding MS950. Defaulting to latin1 (ISO-8859-1).
> res2<-content(r,encoding="Big5")
> res3<-r%>%read_html(encoding="Big5")
> res4<-r%>%read_html(encoding="MS950")
> res5<-read_html("https://isin.twse.com.tw/isin/C_public.jsp?strMode=2",
+ encoding="Big5")
錯誤: input conversion failed due to input error, bytes 0xF9 0xD6 0x3C 0x2F
[6003]
> res2
> res3
{xml_document}
<html>
[1] <head><link rel="stylesheet" href="https://www.tse.com.tw/style1.css" t ...
[2] <body><table align="center"><h2><strong><font class="h1">驍冕祁上瞼竄\xc3
砥国並 ...
> res4
{xml_document}
<html>
[1] <head><link rel="stylesheet" href="https://www.tse.com.tw/style1.css" t ...
[2] <body><table align="center"><h2><strong><font class="h1">驍冕祁上瞼竄\xc3
※ 編輯: AmuroRai (140.109.122.150), 12/29/2015 22:17:04
※ 編輯: AmuroRai (140.109.122.150), 12/29/2015 22:18:42
... <看更多>