<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.planetoid.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Planetoid</id>
	<title>LemonWiki共筆 - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.planetoid.info/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Planetoid"/>
	<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php/Special:Contributions/Planetoid"/>
	<updated>2026-10-05T00:46:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Accessibility&amp;diff=26474</id>
		<title>Accessibility</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Accessibility&amp;diff=26474"/>
		<updated>2026-09-30T06:25:43Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 遵循標準、認證 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;網路無障礙與網頁親和力&lt;br /&gt;
&lt;br /&gt;
{{Tips}} 「他們需要的不是同情與憐憫，而是實質的機會！」語出自[http://www.apad.org.tw 中華民國身心障礙者藝文推廣協會網站]。&lt;br /&gt;
&lt;br /&gt;
該技術目的使得有殘疾的人也可以使用科技的好處。例如一個無障礙的網站(accessible Websites)可以讓視覺、聽覺、行動能力與認知能力有障礙的人可以無礙的進行瀏覽網站內容。無障礙的設計也有利於那些使用較為老舊、運算速度較慢的電腦使用者。&lt;br /&gt;
&lt;br /&gt;
美國1998年復健法（Rehabilitation Act）五○八條款(Section 508)通過，要求公共組織2001/6/25以後，確保所有的電子及資訊科技能讓受雇於政府或一般公立機構的身心障礙者使用，受到影響的科技硬體包含了影印機、傳真機、電話以及其他電子裝置，而同樣地在軟體部分則包含了網站及套裝軟體等等。詳情請看 [https://www.section508.gov/ Section508.gov] 或 [http://www.access-board.gov/508.htm Access Board] (Eva Kaplan-Leiserson)&lt;br /&gt;
&lt;br /&gt;
== 網站/網頁親和力 ==&lt;br /&gt;
=== 文章 ===&lt;br /&gt;
* Jedi (2003). [http://jedi.org/blog/archives/002537.html 網路無障礙與網頁親和力 | Jedi&#039;s BLOG]&lt;br /&gt;
* Jedi (2016). [http://jedi.org/blog/archives/006177.html 網站設計技術與無障礙要求 | Jedi&#039;s BLOG]&lt;br /&gt;
* hlb (2003). [http://ccca.nctu.edu.tw/~hlb/articles/archives/000065.php 障礙重重的無障礙網路空間服務網] 原始連結失連，請點選[http://wayback.archive.org/web/20030501132235/http://ccca.nctu.edu.tw/~hlb/articles/archives/000065.php 備份網頁] &lt;br /&gt;
* 洪朝貴 (2002). [https://www.cyut.edu.tw/~ckhung/a/c021.php 文書處理第零課: 放下對外觀的執著]&lt;br /&gt;
* Musings: [http://golem.ph.utexas.edu/~distler/blog/accessibility.html Accessibility Statement]&lt;br /&gt;
* Dominique Hazaël-Massieux: [http://www.w3.org/2002/03/csslayout-howto Tableless layout HOWTO] 2002/11/19&lt;br /&gt;
* idplay: [http://blog.elixus.org/acer/archives/000381.html web accessibility &amp;amp; userability] December 31, 2002&lt;br /&gt;
* Wei-Hsun Chen (2019). [https://medium.com/uxeastmeetswest/%E5%8F%AF%E9%81%94%E6%80%A7%E8%A8%AD%E8%A8%88-design-for-accessibility-%E5%9F%BA%E6%96%BC%E4%BB%8B%E9%9D%A2%E4%B9%8B%E4%B8%8A-98617b6ae819 可達性設計(Design for Accessibility) — 基於介面之上 – UXeastmeetswest – Medium]&lt;br /&gt;
&lt;br /&gt;
=== 機構網站 ===&lt;br /&gt;
* [https://accessibility.moda.gov.tw/ 無障礙網路空間服務網] (Formely [http://www.gov.tw/activity/enable/index.htm 電子化政府無障礙網路服務])&lt;br /&gt;
&lt;br /&gt;
== 遵循標準、認證 ==&lt;br /&gt;
* [http://bobby.watchfire.com/bobby/html/en/index.jsp Bobby AAA 認證]&lt;br /&gt;
* World Wide Web Consortium (W3C) [http://www.w3.org/WAI/ Web Accessibility Initiative] (簡稱 WAI, 資訊網親和/可及性推動組織)，發佈的[http://www.w3.org/TR/WAI-WEBCONTENT/ Web Content Accessibility Guidelines] 1.0(簡稱WCAG 1.0）[https://www.w3.org/Translations/WCAG21-zh/ WCAG中文翻譯]&lt;br /&gt;
* [http://www.section508.gov/ Section 508 認證]&lt;br /&gt;
* [http://validator.w3.org/ HTML/XHTML 1.0 Strict 認證(Validator)]: MarkUp Validation Service&lt;br /&gt;
&lt;br /&gt;
== 親和性書籍 ==&lt;br /&gt;
* [http://www.diveintoaccessibility.org/ Dive Into Accessibility] [http://dia.z6i.org/ 在 30 天內打造更具親和力的網站] ([https://web.archive.org/web/20210122061559/http://dia.z6i.org/ Wayback 上的網頁備份]) (GNU Free Documentation License)&lt;br /&gt;
* [http://joeclark.org/book/sashay/serialization/ Building Accessible Websites] by Joe Clark ISBN: 073571150X&lt;br /&gt;
&lt;br /&gt;
== 親和力參考文獻 ==&lt;br /&gt;
* [http://www.w3.org/TR/WCAG10/ W3 親和力指導原則]解釋了每一個指導原則背後的理由。&lt;br /&gt;
* [http://www.w3.org/TR/WCAG10-TECHS/ W3 親和力技術]解釋了如何採行每一個指導原則。&lt;br /&gt;
* [http://www.w3.org/TR/WCAG10/full-checklist.html W3 親和力核對表]可以作為忙碌開發者的親和力指引。&lt;br /&gt;
* 美國聯邦政府 [http://www.access-board.gov/sec508/guide/1194.22.htmSection 508 親和力指導原則]。&lt;br /&gt;
&lt;br /&gt;
== 親和力軟體 ==&lt;br /&gt;
* [http://www.freedomscientific.com/fs_downloads/jaws.asp JAWS] 是 Windows 上的螢幕朗讀軟體(Screen Reader)，這裡提供了可以下載的限時展示版。&lt;br /&gt;
* [http://www-3.ibm.com/able/hpr.html Home Page Reader] 是 Windows 上的螢幕朗讀軟體，這裡提供了可以下載的展示版。&lt;br /&gt;
* [http://lynx.browser.org/ Lynx] 是一個免費的純文字瀏覽器，搭配可覆新的布拉耶點字顯示器後就可以給盲人使用。&lt;br /&gt;
* [http://links.sourceforge.net/ Links] 是一個給頻寬不足的視覺性使用者用的純文字瀏覽器。&lt;br /&gt;
* [http://www.opera.com/ Opera] 是一個配備許多親和力功能的視覺性瀏覽器，包括有文字縮放、自訂樣式表、圖片標定等多樣功能。有提供免費下載的版本。與 Windows 、 Macintosh 、 Linux 和許多其他的作業系統相容。&lt;br /&gt;
* [http://ais.z6i.org/web/resources/toolbar/ 網站親和力工具列]: 由澳洲國家資訊暨圖書部門 ([http://www.nils.org.au/ NILS]) 的親和資訊解決方案 ([http://www.nils.org.au/ais/ Accessible Information Solutions], AIS) 團隊所提供，由[http://jedi.org/blog/ Jedi]中文化。功能包含&lt;br /&gt;
** 指認網頁上的元件&lt;br /&gt;
** 改善第三方線上應用程式的使用&lt;br /&gt;
** 模擬使用者經驗&lt;br /&gt;
** 提供參考資料及額外資源的鏈結&lt;br /&gt;
* [https://chrome.google.com/webstore/detail/spectrum/ofclemegkcmilinpcimpjkfhjfgmhieb/related Spectrum]: {{chrome}} 瀏覽器上的擴充套件，模擬不同眼疾觀看網頁的效果。例如紅色盲 (protanopia)、紅色弱視 (protanomaly)、綠色盲 (deuteranopia)、綠色弱視 (deuteranomaly)等。&lt;br /&gt;
* [https://www.figma.com/community/plugin/733343906244951586/Color-Blind Color Blind | Figma Community] {{access | date=2023-06-21}}&lt;br /&gt;
&lt;br /&gt;
== 親和力服務 ==&lt;br /&gt;
* [http://wave.webaim.org/ WAVE Web Accessibility Tool] {{access | date = 2021-03-07}}&lt;br /&gt;
* [http://validator.w3.org/ HTML Validator] 是一個用來檢查網頁是否吻合已公開的 HTML 標準的免費服務。&lt;br /&gt;
* [http://www.delorie.com/web/wpbcv.html Web Page Backward Compatibility Viewer] 這個工具可以用來檢視當妳的網頁，看看若沒有各種流行的瀏覽器功能時，它會變成怎樣。&lt;br /&gt;
* [http://www.delorie.com/web/lynxview.html Lynx Viewer] 是一個讓妳檢視網頁在 Lynx 裡看起來會像甚麼的免費服務。&lt;br /&gt;
* [https://www.handicap-free.nat.gov.tw/ 國家通訊傳播委員會 無障礙網路空間服務網]&lt;br /&gt;
* [[Check Browser Compatibility]] 檢視網頁在不同瀏覽器裡看起來會像甚麼。&lt;br /&gt;
* &#039;&#039;停止服務&#039;&#039;&amp;lt;ref&amp;gt;[https://en.wikipedia.org/wiki/Bobby_(software) Bobby (software) - Wikipedia]&amp;lt;/ref&amp;gt; [http://www.cast.org/bobby/ Bobby] 是一個分析網頁是否遵照親和力指導原則的免費服務。也提供全功能的商業版本。&lt;br /&gt;
&lt;br /&gt;
文字顏色與背景顏色對比&lt;br /&gt;
&lt;br /&gt;
* [https://webaim.org/resources/contrastchecker/ WebAIM: Color Contrast Checker] 檢視文字前景與背景顏色的對比率 (Contrast Ratio) ，是否符合「無障礙網頁內容指引」(WCAG) 2.0規範建議。{{access | date = 2016-09-13}}&lt;br /&gt;
* [http://www.had2know.com/technology/color-contrast-calculator-web-design.html How to Calculate Color Contrast from RGB Values]([http://web.archive.org/web/20161210010555/http://www.had2know.com/technology/color-contrast-calculator-web-design.html 網頁備份]) {{access | date = 2016-11-07}}&lt;br /&gt;
* [https://colorable.jxnblk.com/ Colorable] 介紹: [https://free.com.tw/colorable/ Colorable 網頁色彩線上產生器，可產生符合 WCAG 規範配色組合] {{access | date = 2017-01-02}}&lt;br /&gt;
* [https://www.toptal.com/designers/colorfilter Toptal Color Blind Filter] 「適合在網頁版面設計完畢之後，確認目前的顏色配置，是否會造成色盲、色弱者辨識困難的小工具。」出處：[https://www.facebook.com/loveudfish/photos/a.10151967822379750.1073741826.199162759749/10156644242119750/?type=3&amp;amp;theater 愛˙通用設計的小魚]&lt;br /&gt;
* [https://color.a11y.com/ Color Contrast Accessibility Validator] {{access | date = 2021-03-07}}&lt;br /&gt;
* {{Chrome}} [https://developers.google.com/web/updates/2018/01/devtools#a11y What&#039;s New In DevTools (Chrome 65)  |  Web  |  Google Developers] [https://remysharp.com/2017/08/17/contrast-ratio-in-devtools Contrast ratio in devtools] 開發者工具的調色盤增加 Contrast Ratio 面板，可以方便知道背景文字顏色的對比&lt;br /&gt;
&lt;br /&gt;
其他服務工具清單&lt;br /&gt;
&lt;br /&gt;
* [https://www.w3.org/WAI/ER/tools/ Web Accessibility Evaluation Tools List]&lt;br /&gt;
&lt;br /&gt;
== 相關資源 ==&lt;br /&gt;
* [http://www.webaim.org/ WebAIM] 是一個投注於改善線上學習材料親和力的非營利組織。&lt;br /&gt;
* [http://trace.wisc.edu/world/web/ Designing More Usable Web Sites] 列出了大量額外的資源。&lt;br /&gt;
* [http://www.anybrowser.org/campaign/index.html Viewable with Any Browser: Campaign]&lt;br /&gt;
* [http://www.batol.net/index.asp 無障礙全球資訊網]&lt;br /&gt;
* [https://twitter.com/bernardtyers/status/791673687707713537?s=06 Bernard Tyers on Twitter: Our @HODigital Access Needs posters have been translated into Chinese for Taiwan! Thank you @VioletVivirand on Github! #a11y #accessibility] {{access | date = 2016-12-20}}&lt;br /&gt;
* [https://coseeing.org/ Coseeing 嶼我共視] 「透過多元形式（工具開發、部落格、推廣活動）讓大眾理解障礙者的真實需求與生活情況。目標是讓所有人都能「共同看見」世界，促進共融與理解。」 {{access | date = 2026-07-21}}&lt;br /&gt;
&lt;br /&gt;
== 多國語言（Multilingual Support） ==&lt;br /&gt;
* [http://blog.elixus.org/jedi/archives/000785.html Jedi&#039;s BLOG: 網誌國際化]&lt;br /&gt;
&lt;br /&gt;
* [http://glossary.pank.org/ 中文化辭彙搜尋]：輸入中文或英文搜尋，結果顯示兩岸不同的電腦用語。 {{access | date = 2016-09-13}}&lt;br /&gt;
&lt;br /&gt;
* [http://www.alanwood.net/unicode/ Unicode and Multilingual Support in HTML, Fonts, Web Browsers and Other Applications]&lt;br /&gt;
&lt;br /&gt;
* [http://www.csie.ntu.edu.tw/~b88062/i18n/utf8term.html big5 轉換成 utf8]、[http://freebsd.sinica.edu.tw/hanzi/ 漢字處理]&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;B&amp;gt;相關概念：&amp;lt;/B&amp;gt;翻譯([http://directory.google.com/Top/Kids_and_Teens/School_Time/Foreign_Languages/Multilingual_Translators/?tc=1 Multilingual Translators])、國際化([http://directory.google.com/Top/Computers/Software/Globalization/?tc=1 Globalization])&lt;br /&gt;
&lt;br /&gt;
== 未分類 ==&lt;br /&gt;
* [http://home.kimo.com.tw/citybjc/ 阿彭的個人網站]&lt;br /&gt;
&lt;br /&gt;
* [http://ilyagram.org/archives/000848.html 導一齣瀏覽器的史詩戰役] by [http://ilyagram.org/ ilya]&lt;br /&gt;
&lt;br /&gt;
* [http://140.128.164.2/~j8805/dowba/archives/2003/08/000006.php 聾啞] by Dowba&lt;br /&gt;
: 我認識一位聾啞人士，他是我姨丈的大哥，也就是我表哥的大伯，自出生下來便啞了，一直到我小學不知幾年級的時候因病去世了，我忘記那是什麼時候了。因為生活不方便的關係，一直和我姨丈他們一家住在一起，生活圈沒有很大，也是因為言語不方便的關係，印象中每次去他們家的時候，我都稱他為「啞巴大伯」，和我表哥一樣也稱他為大伯，這樣子才顯親切，而他也不避諱被人稱作啞巴，總是很親切的招招手打聲招呼。……&lt;br /&gt;
&lt;br /&gt;
* [http://shds.med.ntcn.edu.tw/blog/ 聽語障礙科學研究所]&lt;br /&gt;
* [http://www.microsoft.com/enable/ Microsoft Accessibility]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
建議關鍵字: Web Interoperability, Best Viewed With Any Browser, universal access (普及近用)&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/WAI/UA/ User Agent Accessibility Guidelines Working Group (UAWG)]&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/TR/UAAG10/ User Agent Accessibility Guidelines 1.0]&lt;br /&gt;
&lt;br /&gt;
* [http://www.w3.org/Promotion/WIP/ WIP -- Web Interoperability Pledge] &#039;&#039;expired data&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* [http://www.anybrowser.org/campaign/ Viewable with Any Browser: Campaign]&lt;br /&gt;
&lt;br /&gt;
* [http://www.browserlist.browser.org/ The Browser List Project (web browsers in June 2000)]&lt;br /&gt;
&lt;br /&gt;
* [http://developer.gnome.org/projects/gap/access-def.html The GNOME Accessibility Project]&lt;br /&gt;
&lt;br /&gt;
* [http://toget.pchome.com.tw/intro/network_www/network_www_plugin/4244.html BrowserSizer]:BrowserSizer 可以提供網頁的設計人員以不同的「視窗大小」來觀看網頁的內容展示及版面的配置狀況，再也不用自行去變更螢幕解析度了，在網頁的設計上更能得心應手。&lt;br /&gt;
&lt;br /&gt;
* 通用設計(universal design)&lt;br /&gt;
&lt;br /&gt;
其他網頁設計概念&lt;br /&gt;
* 易用性([[Usability]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
資料來源：[http://dia.z6i.org/ 在 30 天內打造更具親和力的網站] ([https://web.archive.org/web/20210122061559/http://dia.z6i.org/ Wayback 上的網頁備份]) (GNU Free Documentation License v. 1.1)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Design]] [[Category:Translation]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=How_to_upsale_image&amp;diff=26473</id>
		<title>How to upsale image</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=How_to_upsale_image&amp;diff=26473"/>
		<updated>2026-09-29T03:37:28Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: Created page with &amp;quot;三款免費圖片解析度提高工具都能把小圖放大，但真正能把模糊的地方「修清楚」的，只有 Artguru，但是免費版會加上浮水印。  用同一張 200 × 200 px 的小圖實測 iLoveIMG、PhotoGrid 和 Artguru，把結果整理成下面這張比較表。有幾個數字，和官網寫的不太一樣。  == 三款免費 AI 圖片放大工具比較表 ==  &amp;lt;table class=&amp;quot;wikitable sortable&amp;quot;&amp;gt; &amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;iLoveIMG&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PhotoGrid&amp;lt;/th&amp;gt;&amp;lt;t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;三款免費圖片解析度提高工具都能把小圖放大，但真正能把模糊的地方「修清楚」的，只有 Artguru，但是免費版會加上浮水印。&lt;br /&gt;
&lt;br /&gt;
用同一張 200 × 200 px 的小圖實測 iLoveIMG、PhotoGrid 和 Artguru，把結果整理成下面這張比較表。有幾個數字，和官網寫的不太一樣。&lt;br /&gt;
&lt;br /&gt;
== 三款免費 AI 圖片放大工具比較表 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;table class=&amp;quot;wikitable sortable&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;iLoveIMG&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;PhotoGrid&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;Artguru&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;放大方式&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;選倍率（2x、4x）&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;選輸出尺寸&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;選輸出尺寸&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;200px 小圖實測最大輸出&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;800px（4 倍）&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1280px，另有 4K 選項&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;1024px（約 5 倍）&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;官網宣稱上限&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4 倍，限 6MP 以下&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;4 倍、4K&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;8 倍、4K；8K 需付費&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;模糊修復效果&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無明顯改善&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無明顯改善&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;✅ 模糊處明顯變清晰&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;獨立畫質修復選項&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無（官網稱放大時自動處理）&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;有&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;免費版浮水印&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;無&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;⚠️ 有&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;&#039;&#039;&#039;適合&#039;&#039;&#039;&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;只需要尺寸變大&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;需要較大的輸出尺寸&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;需要圖片真的變清晰&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Robots.txt&amp;diff=26472</id>
		<title>Robots.txt</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Robots.txt&amp;diff=26472"/>
		<updated>2026-09-21T02:08:31Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: Reverted edit by 2408:8649:2300:147:0:0:0:2 (talk) to last revision by Planetoid&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Robots.txt for golbal website or specific folders ==&lt;br /&gt;
manual&lt;br /&gt;
* [http://www.robotstxt.org/wc/norobots.html A Standard for Robot Exclusion]&lt;br /&gt;
* [http://www.searchtools.com/robots/robots-meta.html Search Indexing Robots and the Robots META Tag - SearchTools.com]&lt;br /&gt;
* [http://www.google.com/support/webmasters/bin/answer.py?answer=40367 網站管理員說明中心 - 我不想將要攔截的每個檔案都列出。我可以使用* 和 $ 模式媒合嗎？]([http://www.google.com/support/webmasters/bin/answer.py?answer=40367&amp;amp;hl=en EN])&lt;br /&gt;
* [http://www.mediawiki.org/wiki/Robots.txt Robots.txt - MediaWiki]&lt;br /&gt;
* [http://code.google.com/web/controlcrawlindex/docs/getting_started.html Getting Started - Controlling Crawling and Indexing - Google Code]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
robots.txt validator&lt;br /&gt;
* [http://tool.motoricerca.info/robots-checker.phtml New Robots.txt Syntax Checker: a validator for robots.txt files]&lt;br /&gt;
&lt;br /&gt;
== sitemap ==&lt;br /&gt;
&lt;br /&gt;
 Sitemap: URL_of_sitemap_file&lt;br /&gt;
&lt;br /&gt;
[[Google Sitemap Template for MovableType]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 移除自己的網頁在google上的索引 ==&lt;br /&gt;
不希望自己的網站或網頁在google上被搜尋 要求Google移掉連結&lt;br /&gt;
* ?天: 使用[http://services.google.com/urlconsole/controller 自動網址移除系統]&lt;br /&gt;
* 3-5個工作天&lt;br /&gt;
** 3-5個工作天內生效，並排除索引至少90天: 使用 [https://www.google.com/webmasters/tools/ Google 網站管理員工具]中的 URL 移除要求工具 ([http://www.google.com.tw/support/webmasters/bin/answer.py?answer=61062&amp;amp;ctx=sibling 說明])&lt;br /&gt;
** 3-5個工作天: [http://www.google.com.tw/support/bin/request.py?ctx=answer 說明中心]回報選「法務問題」 via [http://khchao.blogspot.com/2007/12/google.html 威爺喔北貢: 移除Google搜尋引擎上的資料以及庫存網頁]&lt;br /&gt;
* 6~8週內生效，並暫時排除索引180天: 使用robots.txt等 (說明: [http://www.google.com.tw/support/webmasters/bin/answer.py?answer=59819&amp;amp;topic=8459 如何確定我的內容可以從 Google 索引移除？], [http://www.google.com/intl/zh-TW/remove.html])&lt;br /&gt;
: more on [http://www.google.com.tw/support/webmasters/bin/answer.py?answer=35301 網站管理員說明中心 - 我如何從 Google 的索引中移除內容？]&lt;br /&gt;
&lt;br /&gt;
=== meta tag for single webpage ===&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;meta name=&amp;quot;robots&amp;quot; content=&amp;quot;noindex,nofollow&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
related: &lt;br /&gt;
* 2007/10事件: [http://www.wretch.cc/blog/billypan101&amp;amp;article_id=11714886 BillyPan 的部落格 - 無名刪掉robots.txt，【無名，別擋Google!】串聯初步成功。宣告停止串聯。]&lt;br /&gt;
* [http://www.robotstxt.org/wc/meta-user.html HTML Author&#039;s Guide to the Robots META tag]&lt;br /&gt;
* [[Add meta tag to movabletype]]&lt;br /&gt;
* [http://www.robbin.cc/vb/showthread.php?t=485 如何用.htaccess擋搜尋器 - WordPress歡樂正體中文交流所]&lt;br /&gt;
* [http://gordon168.tw/?p=202 用Robots.txt來和搜尋機器人打交道 « 高登工作室]&lt;br /&gt;
* [http://www.freegroup.org/2012/08/how-to-remove-results-from-google-yahoo-facebook/  [教學] 當個人隱私資料（電話號碼、地址）出現在 Google、Yahoo 頁庫存檔或 Facebook 時，如何請求刪除？]&lt;br /&gt;
&lt;br /&gt;
[[Category:Web_Dev]] [[Category:Google]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_MySQLTuner&amp;diff=26470</id>
		<title>Troubleshooting of MySQLTuner</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_MySQLTuner&amp;diff=26470"/>
		<updated>2026-09-18T09:53:15Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;[https://github.com/major/MySQLTuner-perl MySQLTuner] is a script written in Perl that will assist you with your MySQL configuration and make recommendations for increased performance and stability.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Tips}} Quick command: {{kbd | key=&amp;lt;nowiki&amp;gt;perl mysqltuner.pl --host 127.0.0.1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== How to resolve: (Cygwin) couldn&#039;t find diagnostic data ==&lt;br /&gt;
Condition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ perl mysqltuner.pl&lt;br /&gt;
couldn&#039;t find diagnostic data in /usr/share/perl5/5.26/pods/perldiag.pod /usr/local/lib/perl5/site_perl/5.26/x86_64-cygwin-threads /usr/local/share/perl5/site_perl/5.26 /usr/lib/perl5/vendor_perl/5.26/x86_64-cygwin-threads /usr/share/perl5/vendor_perl/5.26 /usr/lib/perl5/5.26/x86_64-cygwin-threads /usr/share/perl5/5.26 mysqltuner.pl at /usr/share/perl5/5.26/diagnostics.pm line 259, &amp;lt;POD_DIAG&amp;gt; line 711.&lt;br /&gt;
Compilation failed in require at mysqltuner.pl line 45.&lt;br /&gt;
BEGIN failed--compilation aborted at mysqltuner.pl line 45.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
# Download the Cygwin installation file {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} from [https://cygwin.com/install.html Cygwin Installation]&lt;br /&gt;
# Install the perl_pods package using either method below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method 1: Using Cygwin Setup Window (GUI)&#039;&#039;&#039;&lt;br /&gt;
# Double-click {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} to launch the setup wizard&lt;br /&gt;
# Follow the installation wizard until you reach the &amp;quot;Select Packages&amp;quot; screen&lt;br /&gt;
# If the view dropdown shows &amp;quot;Pending&amp;quot;, change it to &amp;quot;Full&amp;quot; to see all available packages&lt;br /&gt;
# Search for &amp;quot;perl_pods&amp;quot; in the search box&lt;br /&gt;
# Click on the &amp;quot;Skip&amp;quot; text next to perl_pods to change it to the version number (this selects it for installation)&lt;br /&gt;
# Click &amp;quot;Next&amp;quot; to proceed with the installation&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Method 2: Using Command Line (CMD)&#039;&#039;&#039;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/36393757/how-do-i-use-diagnostics-for-perl-on-cygwin cpan - How do I &#039;use diagnostics&#039; for Perl on Cygwin? - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://cygwin.com/faq/faq.html#faq.setup.cli Does Setup accept command-line arguments?]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Open a command line window&lt;br /&gt;
# Navigate to the directory containing {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}}, for example: {{kbd | key=&amp;lt;nowiki&amp;gt;cd C:\Downloads&amp;lt;/nowiki&amp;gt;}}, then press {{kbd | key=&amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# Enter the following command: {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe -q -P &amp;quot;perl_pods&amp;quot;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Environment:&lt;br /&gt;
* Windows 2008 R2 standard&lt;br /&gt;
* Cygwin version: CYGWIN_NT-6.1 Win2008R2-0-0 2.9.0(0.318/5/3) 2017-09-12 10:18 x86_64 Cygwin (information returned from {{kbd | key=&amp;lt;nowiki&amp;gt;uname -a&amp;lt;/nowiki&amp;gt;}})&lt;br /&gt;
&lt;br /&gt;
== How to resolve: (Cygwin) wget command not found ==&lt;br /&gt;
Condition: When I tried to download the MySQLTuner using {{kbd | key=&amp;lt;nowiki&amp;gt;wget&amp;lt;/nowiki&amp;gt;}} command but met the error.&lt;br /&gt;
&lt;br /&gt;
Solution: &lt;br /&gt;
&lt;br /&gt;
# Download the installation file {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} of Cygwin from [https://cygwin.com/install.html Cygwin Installation]&lt;br /&gt;
# Open the command line window&lt;br /&gt;
# Change to the directory where the file {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} located e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;cd C:\Downloads&amp;gt;&amp;lt;/nowiki&amp;gt;}} and than press the key {{kbd | key=&amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# To install the packages: wget. Keyin {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe -q -P &amp;quot;wget&amp;quot;&amp;lt;/nowiki&amp;gt;}} or follow the steps on [https://superuser.com/questions/693284/wget-command-not-working-in-cygwin terminal - WGET Command Not Working in Cygwin - Super User] if you prefer the GUI window.&lt;br /&gt;
&lt;br /&gt;
== How to resolve: (Cygwin) unzip: command not found ==&lt;br /&gt;
Condition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ unzip -l sysschema.zip&lt;br /&gt;
-bash: unzip: command not found&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
# Download the installation file {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} of Cygwin from [https://cygwin.com/install.html Cygwin Installation]&lt;br /&gt;
# Open the command line window&lt;br /&gt;
# Change to the directory where the file {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe&amp;lt;/nowiki&amp;gt;}} located e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;cd C:\Downloads&amp;gt;&amp;lt;/nowiki&amp;gt;}} and than press the key {{kbd | key=&amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# To install the packages: [https://cygwin.com/packages/summary/unzip.html unzip]. Keyin {{kbd | key=&amp;lt;nowiki&amp;gt;setup-x86_64.exe -q -P unzip&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== How to resolve: Attempted to use login credentials, but they were invalid. ==&lt;br /&gt;
Condition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ perl mysqltuner.pl&lt;br /&gt;
 &amp;gt;&amp;gt;  MySQLTuner 1.7.5 - Major Hayden &amp;lt;major@mhtx.net&amp;gt;&lt;br /&gt;
 &amp;gt;&amp;gt;  Bug reports, feature requests, and downloads at http://mysqltuner.com/&lt;br /&gt;
 &amp;gt;&amp;gt;  Run with &#039;--help&#039; for additional options and output filtering&lt;br /&gt;
Please enter your MySQL administrative login: root&lt;br /&gt;
Please enter your MySQL administrative password: [!!] Attempted to use login credentials, but they were invalid.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Specify the host parameter to command line e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;perl mysqltuner.pl --host 127.0.0.1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* Check the typo of mysql account and password&lt;br /&gt;
&lt;br /&gt;
== How to resolve: Performance schema should be activated for better diagnostics ==&lt;br /&gt;
Condition:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ perl mysqltuner.pl&lt;br /&gt;
-------- Recommendations ---------------------------------------------------------------------------&lt;br /&gt;
General recommendations:&lt;br /&gt;
    Performance schema should be activated for better diagnostics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Verify the MySQL setting. Execute the SQL query {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;performance_schema&#039;&amp;lt;/nowiki&amp;gt;}}. The result should be OFF.&lt;br /&gt;
* Stop the MySQL service.&lt;br /&gt;
* Open the MySQL configuration file named {{kbd | key=&amp;lt;nowiki&amp;gt;my.ini&amp;lt;/nowiki&amp;gt;}} on {{Win}} or {{kbd | key=&amp;lt;nowiki&amp;gt;my.cnf&amp;lt;/nowiki&amp;gt;}} on {{Linux}} The file maybe located in different path e.g. C:\xampp\mysql\bin\my.ini  on {{Win}}&lt;br /&gt;
* Edit the MySQL configuration file&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
performance_schema = ON&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Restart the MySQL service.&lt;br /&gt;
* Verify the MySQL setting again. Execute the SQL query {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;performance_schema&#039;&amp;lt;/nowiki&amp;gt;}}. The result should be ON.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Troubleshooting}}&lt;br /&gt;
&lt;br /&gt;
[[Category:MySQL]]&lt;br /&gt;
[[Category:Data Science]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Testing&amp;diff=26469</id>
		<title>Testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Testing&amp;diff=26469"/>
		<updated>2026-09-18T08:59:08Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* domain name issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Test connectivity for the web service ==&lt;br /&gt;
[[Test connectivity for the web service]]&lt;br /&gt;
&lt;br /&gt;
== user client node ==&lt;br /&gt;
&lt;br /&gt;
=== browser &amp;amp; device issue ===&lt;br /&gt;
* Browser version: [[Check Browser Compatibility]] &amp;amp; Validation service or [[Validator]]: Check Markup or CSS syntax&lt;br /&gt;
* Multiple screen resolution test: [[CSS_tools#不同螢幕解析度檢視網頁 | 不同螢幕解析度檢視網頁]]&lt;br /&gt;
* [[Mobile friendliness tool]]&lt;br /&gt;
* Disable all extensions&lt;br /&gt;
* Clear browser cache by [http://en.wikipedia.org/wiki/Wikipedia:Bypass_your_cache Bypass your cache] ([http://zh.wikipedia.org/wiki/Help:%E7%BB%95%E8%BF%87%E6%B5%8F%E8%A7%88%E5%99%A8%E7%BC%93%E5%AD%98 繞過瀏覽器快取])&lt;br /&gt;
** Client temporary files&lt;br /&gt;
** [https://www.technipages.com/google-chrome-how-to-completely-disable-cache Google Chrome: How to Disable Cache]&lt;br /&gt;
* Clear server cache ex: [http://www.smarty.net/manual/en/caching.php Smarty Caching]&lt;br /&gt;
&lt;br /&gt;
==== Online IDE ====&lt;br /&gt;
[[Programming online (Online IDE)]]&lt;br /&gt;
&lt;br /&gt;
=== browser plug-ins issue ===&lt;br /&gt;
* [http://www.adobe.com/software/flash/about/ Test your Adobe Flash Player installation]&lt;br /&gt;
* [http://www.adobe.com/shockwave/welcome/ Adobe - Test Adobe Shockwave Player]&lt;br /&gt;
* test java: [http://www.java.com/en/download/testjava.jsp How do I test whether Java is working on my computer?]&lt;br /&gt;
&lt;br /&gt;
=== e-mail testing issue ===&lt;br /&gt;
[[Email testing]]&lt;br /&gt;
&lt;br /&gt;
=== monitoring the status or changes of files or registry ===&lt;br /&gt;
* [http://technet.microsoft.com/en-us/sysinternals/bb896642 FileMon for Windows] / [http://portable.easylife.tw/102 Filemon v7.04 - 檔案即時監控 :: 綠色工廠 Easylife Blog]&lt;br /&gt;
* [http://technet.microsoft.com/en-us/sysinternals/bb896652 RegMon for Windows] / [http://portable.easylife.tw/101 RegMon v7.04 - 註冊表監控 :: 綠色工廠 Easylife Blog]&lt;br /&gt;
&lt;br /&gt;
=== monitoring or generating the HTTP request sent to the server ===&lt;br /&gt;
[[HTTP request and response data tool]]&lt;br /&gt;
&lt;br /&gt;
=== domain name issue ===&lt;br /&gt;
Modify the following files if you want to test the domain name before the mapping of domain name and ip was changed really&lt;br /&gt;
* For {{win}} XP, Win7&amp;lt;ref&amp;gt;[http://tommy.ironman.tw/windows-7-vista-hosts-error/ Azan 黃贊臣 » 在Windows 7 或 Vista 中修改hosts檔的方法]&amp;lt;/ref&amp;gt;, Win 10 &amp;amp; Windows Server 2008 R2 Standard: {{kbd | key=&amp;lt;nowiki&amp;gt;C:\WINDOWS\system32\drivers\etc\hosts&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* On Windows 2003 server: edit the file located at {{kbd | key=&amp;lt;nowiki&amp;gt;C:\WINNT\system32\drivers\etc\hosts&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* On {{Linux}}, input the command {{kbd | key=&amp;lt;nowiki&amp;gt;sudo vi /etc/hosts&amp;lt;/nowiki&amp;gt;}}  &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
127.0.0.1       localhost&lt;br /&gt;
# ip            domain.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* On {{Mac}}, input the command {{kbd | key=&amp;lt;nowiki&amp;gt;sudo vi /private/etc/hosts&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[https://www.tekrevue.com/tip/edit-hosts-file-mac-os-x/ How to Edit the Hosts File on Mac OS X - TekRevue]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Clear the DNS cache&lt;br /&gt;
* [http://www.noip.com/support/knowledgebase/how-do-i-flush-my-windows-dns-cache/ How Do I Clear My DNS Cache on Windows? | Support | No-IP] for {{Win}}&lt;br /&gt;
* [https://support.apple.com/en-us/HT202516 Reset the DNS cache in OS X - Apple Support] for {{Mac}}&lt;br /&gt;
&lt;br /&gt;
more on [[Web_Ping#DNS.E6.AA.A2.E6.9F.A5 | DNS checking]]&lt;br /&gt;
&lt;br /&gt;
=== handling form data ===&lt;br /&gt;
before submit the form data&lt;br /&gt;
* (1)Use the [https://addons.mozilla.org/zh-tw/firefox/addon/web-developer/ Web Developer] plugin for {{Fx}} and (2)Menu -&amp;gt; Forms -&amp;gt; Display form details&lt;br /&gt;
&lt;br /&gt;
after submit the form data&lt;br /&gt;
* PHP var_dump $_POST 或 $_GET&lt;br /&gt;
* [http://api.jquery.com/serialize/ .serialize() | jQuery API Documentation]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== login issues into different accounts ===&lt;br /&gt;
If you need to clear the cookie frequently for the testing account issue&lt;br /&gt;
* Using the privacy browsing for {{Fx}} &amp;amp; {{Chrome}}. Each time you turning on the privacy browsing, the logged status and cookie will not saved.&amp;lt;ref&amp;gt;[http://support.mozilla.org/en-US/kb/private-browsing-browse-web-without-saving-info Private Browsing - Browse the web without saving information about the sites you visit | Firefox Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Manually clear cookie and temporary files of browser&lt;br /&gt;
&lt;br /&gt;
=== file upload ===&lt;br /&gt;
* [http://www.fakefilegenerator.com/generate-file.php Generate a File - Fake File Generator] allow to specify the filesize&lt;br /&gt;
&lt;br /&gt;
=== excel format compatibility ===&lt;br /&gt;
Using Microsoft [http://www.microsoft.com/en-us/download/details.aspx?id=10 Excel Viewer] to check the excel format compatibility. {{exclaim}} It&#039;s not save to check the excel file only by using the old version of Excel.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== database issue ===&lt;br /&gt;
SQL&lt;br /&gt;
&lt;br /&gt;
* [http://sqlfiddle.com/ SQL Fiddle] support MySQL, MS SQL, Oracle, PosgreSQL, SQLite ... {{Gd}}&lt;br /&gt;
* [https://www.db-fiddle.com/ DB Fiddle - SQL Database Playground] supports SQLite, MySQL, MariaDB, PostgreSQL&lt;br /&gt;
* [https://playcode.io/sql-playground SQL Playground - Free SQL Sandbox with Sample Databases] supports SQLite &amp;amp; PostgreSQL&lt;br /&gt;
&lt;br /&gt;
== server environment ==&lt;br /&gt;
[[Testing server environment]]&lt;br /&gt;
&lt;br /&gt;
== local server node (if you has permission to log in the server via SSH or Remote desktop service) ==&lt;br /&gt;
&lt;br /&gt;
check the server/service logs&lt;br /&gt;
=== OS ===&lt;br /&gt;
==== Microsoft Windows ====&lt;br /&gt;
** XP / Vista: 控制台 --&amp;gt; 系統管理工具 --&amp;gt; 事件檢視器&lt;br /&gt;
** [http://www.microsoft.com/technet/support/ee/ee_basic.aspx 事件和錯誤訊息中心: 基本搜尋]&lt;br /&gt;
&lt;br /&gt;
=== Web server ===&lt;br /&gt;
==== Apache ====&lt;br /&gt;
[http://httpd.apache.org/ Apache HTTP server] log: /etc/httpd/logs  (location was set up in the configuration file /etc/httpd/conf/httpd.conf)&lt;br /&gt;
* access.log&lt;br /&gt;
* error.log - record when the apache service restarted/stopped&lt;br /&gt;
Using grep command to search the logs: {{kbd | key=&amp;lt;nowiki&amp;gt;grep -ir &amp;quot;string to search&amp;quot; /path/to/directory&amp;lt;/nowiki&amp;gt;}}. More on [[Desktop_search#Search_text_in_files| Search text in files]]&lt;br /&gt;
&lt;br /&gt;
==== IIS ====&lt;br /&gt;
[http://www.iis.net/ Microsoft Internet Information Services] (IIS) log (記錄檔)&amp;lt;ref&amp;gt;[http://www.dotblogs.com.tw/jimmyyu/archive/2009/06/26/9006.aspx (ASP.NET)從Log追蹤錯誤 - gipi的學習筆記-職場規劃、專案管理、雲端運算部落格- 點部落]&amp;lt;/ref&amp;gt;&lt;br /&gt;
*  C:\WINDOWS\system32\LogFiles\&lt;br /&gt;
&lt;br /&gt;
=== Database server ===&lt;br /&gt;
==== MySQL ====&lt;br /&gt;
[http://dev.mysql.com/doc/refman/5.1/en/server-logs.html MySQL Server Logs]: &lt;br /&gt;
* step1: verify the system variable&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/show-variables.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.5.39 SHOW VARIABLES Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql&amp;gt; SHOW VARIABLES LIKE &#039;%general_log%&#039;;&lt;br /&gt;
mysql&amp;gt; SHOW GLOBAL VARIABLES LIKE &#039;%general_log%&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* step2: enable logging /var/log/mysql.log (location was set up in the configuration file /etc/my.cnf or my.ini) &amp;lt;ref&amp;gt;[http://blog.longwin.com.tw/2005/10/mysql_query_slow_find/ 找出 MySQL 哪些 Query 速度較慢 | Tsung&#039;s Blog]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld] &lt;br /&gt;
## includes all SQL queries/commands&lt;br /&gt;
# general_log = 1&lt;br /&gt;
# general_log_file=&amp;quot;general_log_file.log&amp;quot;&lt;br /&gt;
log-error=/var/log/mysql/error.log&lt;br /&gt;
log-slow-queries = /var/log/mysql/mysql-slow.log&lt;br /&gt;
#another syntax&lt;br /&gt;
#slow_query_log_file = mysql-slow.log&lt;br /&gt;
long_query_time = 1&lt;br /&gt;
log-long-format&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* step3: restart MySQL service&lt;br /&gt;
&lt;br /&gt;
==== Microsoft SQL Server ====&lt;br /&gt;
* [http://expressprofiler.codeplex.com/ ExpressProfiler] includes all SQL queries/commands&lt;br /&gt;
* [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] / [http://msdn.microsoft.com/zh-tw/library/ms187885(v=sql.105).aspx 檢視 SQL Server 錯誤記錄] &amp;quot;contains user-defined events and certain system events ...&amp;quot; quoted from [http://msdn.microsoft.com/en-us/library/ms187109.aspx SQL Server Error Log] ex: X:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Log\ERRORLOG &lt;br /&gt;
* [http://stackoverflow.com/questions/123781/logging-all-queries-on-a-sql-server-2008-express-database Logging ALL Queries on a SQL Server 2008 Express Database? - Stack Overflow] &#039;&#039;not tested&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Other ===&lt;br /&gt;
==== PHP ====&lt;br /&gt;
[[PHP_errors#logging]]&lt;br /&gt;
&lt;br /&gt;
==== Java ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
System.out.println(&amp;quot;Boston, We Have A Problem&amp;quot; + variable); //output to Tomcat consile&lt;br /&gt;
out.println(&amp;quot;Boston, We Have A Problem&amp;quot; + variable); //output to JSP webpage&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or using [https://netbeans.org/features/java/debugger.html NetBeans IDE - Debugger and Profiler] to setup the breakpoints.&lt;br /&gt;
&lt;br /&gt;
==== console command ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//write the console output to the file&lt;br /&gt;
command &amp;gt; log.txt&lt;br /&gt;
&lt;br /&gt;
//append to the same file&lt;br /&gt;
command &amp;gt;&amp;gt; log.txt&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== find match string ==&lt;br /&gt;
* {{kbd | key= grep &#039;string&#039; filename -r}}&lt;br /&gt;
** [http://www.gnu.org/software/grep/manual/ manual], [http://greenisland.csie.nctu.edu.tw/wp/2008/03/24/1267/ 教學]&lt;br /&gt;
&lt;br /&gt;
* Desktop search: [[Desktop search#Search_text_in_files | Search text in files]]&lt;br /&gt;
&lt;br /&gt;
{{Tips}} If the message text or code snippets was &#039;&#039;&#039;not found&#039;&#039;&#039; in the &#039;&#039;plain text files&#039;&#039;, it may stored in the &#039;&#039;database&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== related topic ==&lt;br /&gt;
* [[Comment Syntax]] &lt;br /&gt;
* 設定中斷點&lt;br /&gt;
&lt;br /&gt;
related terms&lt;br /&gt;
* functional testing&lt;br /&gt;
&lt;br /&gt;
templates&lt;br /&gt;
* [[Bug report template]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
further reading&lt;br /&gt;
* [http://help.trello.com/article/736-troubleshooting-browser-issues-with-trello Troubleshooting browser issues with Trello - Trello Help] {{access | date = 2017-03-28}}&lt;br /&gt;
* [https://asana.com/guide/help/faq/connectivity Supported browsers and troubleshooting steps for Asana | Product guide · Asana] {{access | date = 2017-03-28}}&lt;br /&gt;
* [https://ngrok.com/ ngrok - secure introspectable tunnels to localhost] {{access | date = 2020-02-20}}&lt;br /&gt;
&lt;br /&gt;
{{Template:Build a website}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;br /&gt;
[[Category:Programming]]&lt;br /&gt;
[[Category:Web_Dev]]&lt;br /&gt;
[[Category:MySQL]]&lt;br /&gt;
[[Category:Linux]]&lt;br /&gt;
[[Category:Testing]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Input_method_editor&amp;diff=26468</id>
		<title>Input method editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Input_method_editor&amp;diff=26468"/>
		<updated>2026-09-18T03:42:55Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Input Method Editor (IME) 輸入法：透過鍵盤按鍵或滑鼠移動選字的軟體&lt;br /&gt;
&lt;br /&gt;
== 免費輸入法 ==&lt;br /&gt;
[https://github.com/EasyIME/PIME EasyIME/PIME: Develop input methods for Windows easily with Python and node.js] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Win}}&lt;br /&gt;
* 輸入法：&lt;br /&gt;
* 授權方式：[https://github.com/EasyIME/PIME/blob/master/LICENSE.txt GNU LGPL v2.1 license]&lt;br /&gt;
* 介紹：[https://briian.com/37/ 免費 PIME 新酷音輸入法 v1.2.0 b1 最新版下載（比微軟、自然輸入法更強、更好用！） – 【重灌狂人】]&lt;br /&gt;
&lt;br /&gt;
[https://chewing.im/ 新酷音輸入法] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Win}} &amp;amp; {{Linux}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：&lt;br /&gt;
&lt;br /&gt;
[https://openvanilla.org/ OpenVanilla 輸入法套件] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：「內建的輸入法包括了倉頡、簡易（速成）、大易、行列、符號與日文假名、粵拼共六種。」&lt;br /&gt;
* 授權方式：[https://github.com/openvanilla/openvanilla/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
&lt;br /&gt;
[https://mcbopomofo.openvanilla.org/ McBopomofo] v.2.9.4 小麥注音：內建注音輸入法（包括傳統注音以及自動選字注音）。 {{access | date =2025-12-03}} &lt;br /&gt;
* 作業系統：{{Mac}}, {{Linux}} &amp;amp; {{Win}}：[https://github.com/openvanilla/fcitx5-mcbopomofo 小麥注音 Linux 版 GitHub 專案網頁] (McBopomofo for fcitx5)、[https://zonble.medium.com/%E5%9C%A8-windows-%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%B0%8F%E9%BA%A5%E6%B3%A8%E9%9F%B3%E8%BC%B8%E5%85%A5%E6%B3%95-744a9c268b80 在 Windows 上使用小麥注音輸入法. 今年上半年度個人在 side project… | by zonble | Medium]&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：[https://github.com/openvanilla/McBopomofo/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
&lt;br /&gt;
[https://vchewing.github.io/README.html vChewing 唯音輸入法 · [&amp;quot;vChewing 唯音&amp;quot;]] (舊稱「威注音」) {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：[https://github.com/vChewing/vChewing-macOS/blob/main/LICENSE-CHT.txt MIT-NTL License]&lt;br /&gt;
&lt;br /&gt;
[https://www.asus.com/tw/content/smartinput/ 華碩智慧輸入法｜ASUS 台灣]&lt;br /&gt;
* 作業系統：{{Win}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：著作權所有&lt;br /&gt;
&lt;br /&gt;
[https://rime.im/ RIME | 中州韻輸入法引擎] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}, {{Linux}} &amp;amp; {{Win}}&lt;br /&gt;
* 輸入法：朙月拼音、注音、倉頡&lt;br /&gt;
* 授權方式：[https://github.com/rime/librime/blob/master/LICENSE BSD 3-Clause &amp;quot;New&amp;quot; or &amp;quot;Revised&amp;quot; License]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/chiakich/ChiaKey chiakich/ChiaKey: 千秋輸入法 ChiaKey: a modern macOS Traditional Chinese input method revival based on Yahoo KeyKey/OpenVanilla] {{access | date =2026-09-10}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：注音、倉頡、簡易&lt;br /&gt;
* 授權方式：[https://github.com/chiakich/ChiaKey/blob/main/LICENSE BSD 3-Clause &amp;quot;New&amp;quot; or &amp;quot;Revised&amp;quot; License]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Yahoo! 奇摩輸入法 {{exclaim}} 新版 macOS 有相容問題&lt;br /&gt;
* [https://github.com/YahooArchive/KeyKey YahooArchive/KeyKey] on {{Win}} &amp;amp; {{Mac}} {{access | date =2019-01-15}} {{exclaim}} macOS Catalina 無法使用。介紹：[https://free.com.tw/yahoo-keykey/ Mac 最推薦輸入法！Yahoo! 奇摩輸入法免費下載點及安裝教學]&lt;br /&gt;
&lt;br /&gt;
== 付費輸入法 ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.goingpro.me/ 自然輸入法｜地表最強注音/倉頡/拼音]&lt;br /&gt;
** 作業系統：{{Win}} &amp;amp; {{Mac}}&lt;br /&gt;
** 輸入法：注音、倉頡、拼音&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [http://www.superkbd.com/ 超注音]&lt;br /&gt;
** 作業系統：{{Win}}, Android, iPhone, iPad &amp;amp; {{Mac}}&lt;br /&gt;
** 輸入法：注音&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 相關頁面 ==&lt;br /&gt;
* [[Text to speech]]&lt;br /&gt;
* [https://www.wikiwand.com/zh-tw/%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95 中文输入法 - Wikiwand]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Claude&amp;diff=26467</id>
		<title>Troubleshooting of Claude</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Claude&amp;diff=26467"/>
		<updated>2026-09-18T03:29:33Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: How to Fix Missing Markdown Copy and Download Options in Claude Web Artifacts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Troubleshooting of Claude ==&lt;br /&gt;
=== How to fix &amp;quot;Claude Cowork login stuck on browser screen when signing in with Gmail&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Symptoms&#039;&#039;&#039;&lt;br /&gt;
After installing [https://claude.com/product/cowork Claude Cowork] and attempting to sign in with a Gmail account, the browser window remains open and the login process never completes, preventing access to Claude.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Product Affected&#039;&#039;&#039;: Claude Cowork&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggested Workaround:&#039;&#039;&#039;&lt;br /&gt;
* Disable ad-blocking browser extensions (e.g. [https://ublockorigin.com/ uBlock Origin]) before signing in. These extensions can interfere with the OAuth authentication flow, causing the browser redirect to hang indefinitely.&lt;br /&gt;
&lt;br /&gt;
=== How to fix &amp;quot;stop_reason&amp;quot;: &amp;quot;refusal&amp;quot; in Claude API ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
    &amp;quot;id&amp;quot;: &amp;quot;msg_xxx&amp;quot;,&lt;br /&gt;
    &amp;quot;type&amp;quot;: &amp;quot;message&amp;quot;,&lt;br /&gt;
    &amp;quot;role&amp;quot;: &amp;quot;assistant&amp;quot;,&lt;br /&gt;
    &amp;quot;model&amp;quot;: &amp;quot;claude-opus-4-20250514&amp;quot;,&lt;br /&gt;
    &amp;quot;content&amp;quot;: [],&lt;br /&gt;
    &amp;quot;stop_reason&amp;quot;: &amp;quot;refusal&amp;quot;,&lt;br /&gt;
    &amp;quot;stop_sequence&amp;quot;: null,&lt;br /&gt;
    &amp;quot;usage&amp;quot;: {&lt;br /&gt;
        &amp;quot;input_tokens&amp;quot;: 2164,&lt;br /&gt;
        &amp;quot;cache_creation_input_tokens&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;cache_read_input_tokens&amp;quot;: 0,&lt;br /&gt;
        &amp;quot;output_tokens&amp;quot;: 0&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Model Affected&#039;&#039;&#039;: Claude Opus 4&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggestion&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Prompt met &amp;quot;refusal&amp;quot; error&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please help find the company&#039;s unified business number:&lt;br /&gt;
Company name: {$companyName}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Revised prompt:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Please help find the following company&#039;s publicly available basic information: the company&#039;s unified business number:&lt;br /&gt;
Company name: {COMPANY_NAME}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Root cause:&#039;&#039;&#039; Common Triggers:&lt;br /&gt;
* Privacy-related requests - asking for personal data or private information&lt;br /&gt;
* Confidential information queries - requesting internal data or business secrets&lt;br /&gt;
* Security-sensitive content - potentially harmful or inappropriate requests&lt;br /&gt;
* Ambiguous identity information - queries that may involve identity identification&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggested:&#039;&#039;&#039;&lt;br /&gt;
* Replace sensitive keywords in your prompts (e.g., &amp;quot;confidential&amp;quot; → &amp;quot;public&amp;quot;, &amp;quot;internal data&amp;quot; → &amp;quot;public documents&amp;quot;, &amp;quot;private information&amp;quot; → &amp;quot;publicly available information&amp;quot;)&lt;br /&gt;
* Add safety declarations explicitly stating you only want publicly available information&lt;br /&gt;
* Use structured prompts that specify data source limitations and public nature requirements&lt;br /&gt;
* Implement the smart retry mechanism with prompt modification when refusal is detected&lt;br /&gt;
* Consider using the `RefusalPreventionHelper` class to assess and sanitize prompts before sending to API&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Official Documentation:&#039;&#039;&#039;&lt;br /&gt;
* [https://docs.anthropic.com/en/api/handling-stop-reasons Handling stop reasons - Anthropic] mentioned &amp;quot;Claude’s response includes a stop_reason field that indicates why the model stopped generating its response ...&amp;quot;&lt;br /&gt;
* [https://www.anthropic.com/transparency Anthropic’s Transparency Hub \ Anthropic]&lt;br /&gt;
* [https://www.anthropic.com/news/activating-asl3-protections Activating AI Safety Level 3 Protections \ Anthropic]&lt;br /&gt;
* [https://support.anthropic.com/en/articles/8241216-i-m-planning-to-launch-a-product-using-claude-what-steps-should-i-take-to-ensure-i-m-not-violating-anthropic-s-usage-policy I’m planning to launch a product using Claude. What steps should I take to ensure I’m not violating Anthropic’s Usage Policy? | Anthropic Help Center]&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting &amp;quot;Wiggle: Upload Failed&amp;quot; Error ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Details&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Wiggle: Upload failed: 400 - File: 1120390382845847 - 5,176 -T&lt;br /&gt;
觀看•192個心情|#...txt (61013 bytes, text/plain) - URL:&lt;br /&gt;
/api/organizations/xxxx/conversations/47ef2ad3-ac54-4441-a67e-xxx/wiggle/upload-file&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Affected Model&#039;&#039;&#039;: Claude 4 Sonnet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Troubleshooting Steps&#039;&#039;&#039;:&lt;br /&gt;
# Use alternative method - Copy and paste the text content directly into the chat&lt;br /&gt;
# Rename file - Use a simple filename containing only English letters, numbers, and basic characters (avoid special symbols, spaces, or non-English characters)&lt;br /&gt;
# &amp;quot;To solve this, I had to: turn off Code execution and file creation feature and turn on the Analysis tool.&amp;quot; Thanks, slacreddit! {{access | date = 2025-10-30}}&amp;lt;ref&amp;gt;[https://www.reddit.com/r/ClaudeAI/comments/1oh0wv9/claude_ai_upload_failed_due_to_a_network_issue/ Claude AI “Upload failed due to a network issue” — anyone else getting this since Oct 23? : r/ClaudeAI]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://status.claude.com/incidents/k1hywp210cxl Claude Status - Elevated errors with uploading files to claude.ai]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Additional Recommendations&#039;&#039;&#039;:&lt;br /&gt;
# Ensure stable internet connection before uploading&lt;br /&gt;
# Check if file size is within platform limits: 30MB&amp;lt;ref&amp;gt;[https://support.claude.com/en/articles/8241126-what-kinds-of-documents-can-i-upload-to-claude What kinds of documents can I upload to Claude? | Anthropic Help Center]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to fix &amp;quot;Text extraction failed for one of the uploaded files. Please try again.&amp;quot; ===&lt;br /&gt;
&#039;&#039;&#039;Error message&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Text extraction failed for one of the uploaded files. Please try again.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Model Affected&#039;&#039;&#039;: Claude 3 Sonnet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggested Workaround:&#039;&#039;&#039;&lt;br /&gt;
* When uploading PDF files in the Claude system, consider paste the relevant text directly into our conversation for better processing&amp;lt;ref&amp;gt;[https://www.reddit.com/r/ClaudeAI/comments/1bquumd/cant_upload_pdf_or_text/?rdt=54340 Can’t upload pdf or text : r/ClaudeAI]&amp;lt;/ref&amp;gt;. Use [[Convert PDF to Text]] tools to help with the conversion.&lt;br /&gt;
* For other file types encountering errors, it&#039;s likely due to file conversion issues. It&#039;s recommended to manually convert files beforehand into formats that are easier for machines to read, such as Unicode (UTF-8) encoded TXT or CSV files&amp;lt;ref&amp;gt;[https://www.reddit.com/r/ClaudeAI/comments/1e4nzb5/claude_giving_me_text_extraction_failure/ Claude giving me text extraction failure : r/ClaudeAI]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== How to fix &amp;quot;Files of the following format are not supported: xlsx.&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Model Affected&#039;&#039;&#039;: Claude 3 Sonnet, Claude 3 Opus, Claude 3 Haiku&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggested Workaround:&#039;&#039;&#039;&lt;br /&gt;
* When uploading Excel files for analysis in the Claude system, consider converting and uploading an alternative CSV (Comma-Separated Values) or TSV (Tab-Separated Values) file instead.&lt;br /&gt;
&lt;br /&gt;
=== How to fix &amp;quot;You may not upload files larger than 30mb.&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Model Affected&#039;&#039;&#039;: Claude 3 Sonnet&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggested Workaround:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Option 1: Web Interface&lt;br /&gt;
* When uploading PDF files in the Claude system, Split your PDF into smaller sections using PDF tools (such as [https://pdfsam.org/download-pdfsam-basic/ PDFsam]) under 30MB.&lt;br /&gt;
&lt;br /&gt;
Option 2: Messages API&lt;br /&gt;
* Use PDFs with the Messages API for programmatic handling&amp;lt;ref&amp;gt;[https://docs.anthropic.com/en/docs/build-with-claude/pdf-support PDF support (beta) - Anthropic]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== How to Set Monthly Spending Limits for Claude API ===&lt;br /&gt;
&lt;br /&gt;
# Navigate to the [https://console.anthropic.com/settings/workspaces Workspaces section] in your Anthropic Console&lt;br /&gt;
# Create a new workspace by selecting &amp;quot;Add Workspace&amp;quot;&lt;br /&gt;
# Go back to your Workspaces overview, then click the menu icon (three dots) beside your workspace name and select &amp;quot;Manage API Keys&amp;quot;&lt;br /&gt;
# Access the &amp;quot;Limits&amp;quot; tab and configure your monthly spending cap (Monthly limit)&lt;br /&gt;
&lt;br /&gt;
=== Fixing &amp;quot;Unknown OAuth client&amp;quot; When Connecting Notion MCP in Claude Code ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Affected Version&#039;&#039;&#039;: Claude Code 2.1.80+&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Workaround:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If you encounter this error while connecting Notion MCP, try removing the existing HTTP transport installation and reinstalling it via `mcp-remote`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;bash&lt;br /&gt;
# Remove existing Notion MCP (if installed)&lt;br /&gt;
claude mcp remove notion&lt;br /&gt;
&lt;br /&gt;
# Reinstall using mcp-remote&lt;br /&gt;
claude mcp add notion npx -- -y mcp-remote https://mcp.notion.com/mcp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For a detailed step-by-step guide with screenshots, see: [https://errerrors.blogspot.com/2026/04/fixing-unknown-oauth-client-error-when.html Fixing &amp;quot;Unknown OAuth client&amp;quot; Error When Connecting Notion MCP in Claude Code] (written primarily in Traditional Chinese)&lt;br /&gt;
&lt;br /&gt;
=== How to Fix Missing Markdown Copy and Download Options in Claude Web Artifacts ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Details&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Artifacts created in the Claude web app cannot directly copy or download the original Markdown or Mermaid source. The Artifact menu does not provide &#039;&#039;&#039;Copy&#039;&#039;&#039;, &#039;&#039;&#039;Source&#039;&#039;&#039;, &#039;&#039;&#039;Code&#039;&#039;&#039;, or &#039;&#039;&#039;Download&#039;&#039;&#039; options.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Affected Scope&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Artifacts created through the Claude web app.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Suggestions&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# Paste the Artifact content directly into the conversation and ask Claude to reproduce it as raw Markdown.&lt;br /&gt;
# Alternatively, ask Claude to generate a downloadable &amp;lt;code&amp;gt;.md&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible Root Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Claude recently unified Chat, Cowork, Artifacts, Docs, and Slides under a redesigned interface. The source-copying and downloading features may not have been migrated to the new web interface yet, or the current interface may prioritize collaboration, sharing, and canvas-based editing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;References&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
# [https://support.claude.com/en/articles/9547008-publishing-remixing-and-sharing-artifacts Claude Help Center: Publish and share artifacts]&lt;br /&gt;
# [https://claude.com/features/artifacts Claude: Artifacts]&lt;br /&gt;
# [https://www.reuters.com/business/media-telecom/anthropic-fold-claude-ai-features-into-one-interface-launches-document-tools-2026-09-16/ Reuters: Anthropic unifies Claude features and launches document tools]&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
* Forum: [https://www.reddit.com/r/ClaudeAI/ ClaudeAI]&lt;br /&gt;
* [https://docs.anthropic.com/en/docs/build-with-claude/pdf-support PDF support (beta) - Anthropic]&lt;br /&gt;
* Anthropic [https://docs.anthropic.com/en/api/errors Using the APIs - Errors]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tools]] &lt;br /&gt;
[[Category:Anthropic]]&lt;br /&gt;
[[Category:Generative AI]]&lt;br /&gt;
[[Category:Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Input_method_editor&amp;diff=26466</id>
		<title>Input method editor</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Input_method_editor&amp;diff=26466"/>
		<updated>2026-09-18T02:37:19Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 免費輸入法 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Input Method Editor (IME) 輸入法&lt;br /&gt;
&lt;br /&gt;
== 免費輸入法 ==&lt;br /&gt;
[https://github.com/EasyIME/PIME EasyIME/PIME: Develop input methods for Windows easily with Python and node.js] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Win}}&lt;br /&gt;
* 輸入法：&lt;br /&gt;
* 授權方式：[https://github.com/EasyIME/PIME/blob/master/LICENSE.txt GNU LGPL v2.1 license]&lt;br /&gt;
* 介紹：[https://briian.com/37/ 免費 PIME 新酷音輸入法 v1.2.0 b1 最新版下載（比微軟、自然輸入法更強、更好用！） – 【重灌狂人】]&lt;br /&gt;
&lt;br /&gt;
[https://chewing.im/ 新酷音輸入法] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Win}} &amp;amp; {{Linux}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：&lt;br /&gt;
&lt;br /&gt;
[https://openvanilla.org/ OpenVanilla 輸入法套件] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：「內建的輸入法包括了倉頡、簡易（速成）、大易、行列、符號與日文假名、粵拼共六種。」&lt;br /&gt;
* 授權方式：[https://github.com/openvanilla/openvanilla/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
&lt;br /&gt;
[https://mcbopomofo.openvanilla.org/ McBopomofo] v.2.9.4 小麥注音：內建注音輸入法（包括傳統注音以及自動選字注音）。 {{access | date =2025-12-03}} &lt;br /&gt;
* 作業系統：{{Mac}}, {{Linux}} &amp;amp; {{Win}}：[https://github.com/openvanilla/fcitx5-mcbopomofo 小麥注音 Linux 版 GitHub 專案網頁] (McBopomofo for fcitx5)、[https://zonble.medium.com/%E5%9C%A8-windows-%E4%B8%8A%E4%BD%BF%E7%94%A8%E5%B0%8F%E9%BA%A5%E6%B3%A8%E9%9F%B3%E8%BC%B8%E5%85%A5%E6%B3%95-744a9c268b80 在 Windows 上使用小麥注音輸入法. 今年上半年度個人在 side project… | by zonble | Medium]&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：[https://github.com/openvanilla/McBopomofo/blob/master/LICENSE.txt MIT License]&lt;br /&gt;
&lt;br /&gt;
[https://vchewing.github.io/README.html vChewing 唯音輸入法 · [&amp;quot;vChewing 唯音&amp;quot;]] (舊稱「威注音」) {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：[https://github.com/vChewing/vChewing-macOS/blob/main/LICENSE-CHT.txt MIT-NTL License]&lt;br /&gt;
&lt;br /&gt;
[https://www.asus.com/tw/content/smartinput/ 華碩智慧輸入法｜ASUS 台灣]&lt;br /&gt;
* 作業系統：{{Win}}&lt;br /&gt;
* 輸入法：注音&lt;br /&gt;
* 授權方式：著作權所有&lt;br /&gt;
&lt;br /&gt;
[https://rime.im/ RIME | 中州韻輸入法引擎] {{access | date =2025-06-13}} &lt;br /&gt;
* 作業系統：{{Mac}}, {{Linux}} &amp;amp; {{Win}}&lt;br /&gt;
* 輸入法：朙月拼音、注音、倉頡&lt;br /&gt;
* 授權方式：[https://github.com/rime/librime/blob/master/LICENSE BSD 3-Clause &amp;quot;New&amp;quot; or &amp;quot;Revised&amp;quot; License]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/chiakich/ChiaKey chiakich/ChiaKey: 千秋輸入法 ChiaKey: a modern macOS Traditional Chinese input method revival based on Yahoo KeyKey/OpenVanilla] {{access | date =2026-09-10}} &lt;br /&gt;
* 作業系統：{{Mac}}&lt;br /&gt;
* 輸入法：注音、倉頡、簡易&lt;br /&gt;
* 授權方式：[https://github.com/chiakich/ChiaKey/blob/main/LICENSE BSD 3-Clause &amp;quot;New&amp;quot; or &amp;quot;Revised&amp;quot; License]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Yahoo! 奇摩輸入法 {{exclaim}} 新版 macOS 有相容問題&lt;br /&gt;
* [https://github.com/YahooArchive/KeyKey YahooArchive/KeyKey] on {{Win}} &amp;amp; {{Mac}} {{access | date =2019-01-15}} {{exclaim}} macOS Catalina 無法使用。介紹：[https://free.com.tw/yahoo-keykey/ Mac 最推薦輸入法！Yahoo! 奇摩輸入法免費下載點及安裝教學]&lt;br /&gt;
&lt;br /&gt;
== 付費輸入法 ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.goingpro.me/ 自然輸入法｜地表最強注音/倉頡/拼音]&lt;br /&gt;
** 作業系統：{{Win}} &amp;amp; {{Mac}}&lt;br /&gt;
** 輸入法：注音、倉頡、拼音&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [http://www.superkbd.com/ 超注音]&lt;br /&gt;
** 作業系統：{{Win}}, Android, iPhone, iPad &amp;amp; {{Mac}}&lt;br /&gt;
** 輸入法：注音&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 相關頁面 ==&lt;br /&gt;
* [[Text to speech]]&lt;br /&gt;
* [https://www.wikiwand.com/zh-tw/%E4%B8%AD%E6%96%87%E8%BE%93%E5%85%A5%E6%B3%95 中文输入法 - Wikiwand]&lt;br /&gt;
&lt;br /&gt;
[[Category:Software]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_MySQL_errors&amp;diff=26465</id>
		<title>Troubleshooting of MySQL errors</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_MySQL_errors&amp;diff=26465"/>
		<updated>2026-09-17T02:47:59Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* SQLSTATE[HY000] [2002] Can&amp;#039;t assign requested address */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Troubleshooting of MySQL errors&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Troubleshooting of MySQL errors | English]], [[排除 MySQL 技術疑難問題|漢字]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In this document, we explore various common issues encountered while working with MySQL, categorizing them into seven distinct groups based on their nature and impact. These categories help in identifying the underlying problems and facilitate efficient troubleshooting. The issues are classified as follows:&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;Installation and Configuration Issues&#039;&#039;&#039;: Problems related to setting up and configuring MySQL.&lt;br /&gt;
# &#039;&#039;&#039;Database and Table Operation Errors&#039;&#039;&#039;: Issues during operations such as creating, dropping, or accessing databases and tables.&lt;br /&gt;
# &#039;&#039;&#039;Access and Authentication Errors&#039;&#039;&#039;: Errors dealing with user permissions and authentication.&lt;br /&gt;
# &#039;&#039;&#039;SQL and Query Errors&#039;&#039;&#039;: Issues related to the syntax and execution of SQL queries.&lt;br /&gt;
# &#039;&#039;&#039;Connection and Network Errors&#039;&#039;&#039;: Problems involving connectivity between clients and the MySQL server.&lt;br /&gt;
# &#039;&#039;&#039;Resource and Environmental Errors&#039;&#039;&#039;: Errors caused by system resources like disk space, memory limits, or file system permissions.&lt;br /&gt;
# &#039;&#039;&#039;Miscellaneous Tool-Specific Errors&#039;&#039;&#039;: Errors specific to database tools like Navicat or issues from scripting environments like PHP.&lt;br /&gt;
&lt;br /&gt;
Each category not only delineates common errors but also aids in the direct application of specific solutions tailored to each type of issue.&lt;br /&gt;
&lt;br /&gt;
== Installation and Configuration Issues ==&lt;br /&gt;
=== command not found: mysqldump ===&lt;br /&gt;
# locate the mysqldump command&lt;br /&gt;
#* Key-in the command {{kbd | key=&amp;lt;nowiki&amp;gt;sudo find / -iname mysqldump&amp;lt;/nowiki&amp;gt;}} for {{Mac}} or {{Linux}}&lt;br /&gt;
#* If you installed &lt;br /&gt;
#** [https://www.apachefriends.org/index.html XAMPP] for {{Mac}}: Entire path is {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/XAMPP/xamppfiles/bin/mysqldump&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#** [https://www.apachefriends.org/index.html XAMPP] on X disk for {{Win}}: Entire path is {{kbd | key=&amp;lt;nowiki&amp;gt;X:\xampp\mysql\bin\mysqldump.exe&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#** [https://www.mamp.info/en/ MAMP &amp;amp; &#039;&#039;$&#039;&#039; MAMP PRO] for {{Mac}}: Entire path is {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/MAMP/Library/bin/mysqldump&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# input the complete path of mysqldump command&lt;br /&gt;
#* old command which caused error {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump -h 127.0.0.1 -u root -p  --force --single-transaction DATABASE_NAME | pv | gzip -c &amp;gt; DATABASE_NAME.sql.gz&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#* new command {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/XAMPP/xamppfiles/bin/mysqldump -h 127.0.0.1 -u root -p  --force --single-transaction DATABASE_NAME | pv | gzip -c &amp;gt; DATABASE_NAME.sql.gz&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== Could not start MySQL service on Windows ===&lt;br /&gt;
checklist&lt;br /&gt;
# [https://dev.mysql.com/doc/refman/5.7/en/data-directory.html MySQL Data Directory] was allowed to written by {{kbd | key=NETWORK SERVICE}} on Windows Server 2008&amp;lt;ref&amp;gt;[https://errerrors.blogspot.com/2016/12/mysql-windows-server-2008-r2.html 如何修改 MySQL 伺服器的資料目錄 (Windows Server 2008 R2)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# Directory {{kbd | key=secure-file-priv}} was allowed to written by {{kbd | key=NETWORK SERVICE}} on Windows Server 2008&lt;br /&gt;
&lt;br /&gt;
=== mysqldump: Got errno 32 on write ===&lt;br /&gt;
Error condition&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h localhost -u root -p --force --single-transaction --default-character-set=utf8 --quick mytable  | pv | gzip -c &amp;gt; mytable.sql.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
met the error message: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-bash: pv: command not found&lt;br /&gt;
...&lt;br /&gt;
mysqldump: Got errno 32 on write&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Root cause&lt;br /&gt;
* The pv was not installed&lt;br /&gt;
* Input the command to check if pv was installed {{kbd | key=which pv}}&lt;br /&gt;
* install pv by input the command: {{kbd | key=sudo yum -y install pv}} &amp;lt;ref&amp;gt;[https://installati.one/centos/7/pv/ How To Install pv on CentOS 7 | Installati.one]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
* [https://mysqldump.guru/mysqldump-got-errno-32-on-write.html mysqldump: Got errno 32 on write | mysqldump.guru]&lt;br /&gt;
&lt;br /&gt;
== Database and Table Operation Errors ==&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1005 (HY000) at line xx: Can&#039;t create table &#039;TABLE_NAME&#039; (errno: 28) ===&lt;br /&gt;
&lt;br /&gt;
Solutions&lt;br /&gt;
* Check if the disk space where mysql data folder located is enough. e.g. Input {{kbd | key=df -h}} on {{Linux}}&lt;br /&gt;
* More on [http://stackoverflow.com/questions/11045279/error-1005-hy000-cant-create-table-errno-150 mysql - ERROR 1005 (HY000): Can&#039;t create table (errno: 150) - Stack Overflow].&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1006 (HY000): Can&#039;t create database &#039;DATABASE_NAME&#039; (errno: 28) ===&lt;br /&gt;
Solutions&lt;br /&gt;
* Check if the disk space where mysql data folder located is enough. e.g. Input {{kbd | key=df -h}} on {{Linux}}&lt;br /&gt;
* More on [http://stackoverflow.com/questions/18719748/error-1006-hy000-cant-create-database-errno-13-mysql-5-6-12 ERROR 1006 (HY000) Can&#039;t create database (errno: 13) MySQL 5.6.12 - Stack Overflow].&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1010: Error dropping database (can&#039;t rmdir) ===&lt;br /&gt;
Message: &amp;lt;pre&amp;gt;Error dropping database (can&#039;t rmdir &#039;.\&amp;lt;db_name&amp;gt;\&#039;, errno: 17)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution&lt;br /&gt;
* Manually delete the leftover non-MySQL files (e.g. .sql files) inside the database directory, then retry DROP DATABASE — or simply delete the entire folder manually.&lt;br /&gt;
&lt;br /&gt;
Root Cause&lt;br /&gt;
* MySQL&#039;s DROP DATABASE only removes files it manages. Foreign files left in the data directory (such as .sql dumps) prevent rmdir from removing the folder, causing errno 17 (ENOTEMPTY).&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1017 - Can&#039;t find file: &#039;.\DATABASE\TABLE.frm&#039; (errno: 22 - Invalid argument) ===&lt;br /&gt;
Message: [Err] 1017 - Can&#039;t find file: &#039;.\DATABASE\TABLE.frm&#039; (errno: 22 - Invalid argument)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solutions&lt;br /&gt;
* Check the existence of file DATABASE\TABLE.frm. If not, you may need to create the TABLE before executed the MySQL query.&lt;br /&gt;
* Check the permission of file DATABASE\TABLE.frm or folder which the file located&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/12106727/mysql-copying-tables-files-gives-rise-to-error-1017-hy000-cant-find-file MySQL, copying tables files gives rise to &amp;quot;ERROR 1017 (HY000): Can&#039;t find file:&amp;quot; even though its there there - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/2762-error-1017-hy000-can-t-find-file ERROR 1017 (HY000): Can&#039;t find file - Percona Community]&amp;lt;/ref&amp;gt;. &#039;&#039;unverified&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Navicat error: Field doesn&#039;t have a default value ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ERR] 1364 - Field &#039;source&#039; doesn&#039;t have a default value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* When importing from Excel to a database, if the &#039;source&#039; field is empty or not specified, it&#039;s necessary to assign a value to the &#039;source&#039; field. Alternatively, modify the field definition to allow the field value to be NULL.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1813: Tablespace for table xxx exists ===&lt;br /&gt;
Message: ERROR 1813 Tablespace for table xxx exists.&lt;br /&gt;
&lt;br /&gt;
Solution&lt;br /&gt;
* [https://stackoverflow.com/questions/15694168/error-tablespace-for-table-xxx-exists-please-discard-the-tablespace-before-imp mysql - Error: Tablespace for table xxx exists. Please DISCARD the tablespace before IMPORT - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1690 - BIGINT UNSIGNED value is out of range ===&lt;br /&gt;
Message: MySQL error #1690 (BIGINT UNSIGNED value is out of range)&lt;br /&gt;
&lt;br /&gt;
Solution &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/out-of-range-and-overflow.html MySQL :: MySQL 8.0 Reference Manual :: 11.2.6 Out-of-Range and Overflow Handling]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/34115917/mysql-error-1690-bigint-unsigned-value-is-out-of-range-for-unix-timestamp MySQL error #1690 (BIGINT UNSIGNED value is out of range) for UNIX_TIMESTAMP() - Stack Overflow]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET sql_mode = &#039;NO_UNSIGNED_SUBTRACTION&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1305 - FUNCTION MY_TABLE.MY_FUNCTION does not exist ===&lt;br /&gt;
Message: MySQL error 1305 - FUNCTION MY_TABLE.MY_FUNCTION does not exist&lt;br /&gt;
&lt;br /&gt;
Solution: Fix the typo in the function name&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1170: BLOB/TEXT column &#039;url&#039; used in key specification without a key length ===&lt;br /&gt;
Condition&lt;br /&gt;
* SQL syntax when tried to create the new table&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DROP TABLE IF EXISTS `my_table`;&lt;br /&gt;
/*!40101 SET @saved_cs_client     = @@character_set_client */;&lt;br /&gt;
/*!40101 SET character_set_client = utf8 */;&lt;br /&gt;
CREATE TABLE `my_table` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `title` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,&lt;br /&gt;
  `url` text COLLATE utf8mb4_unicode_ci NOT NULL,&lt;br /&gt;
  `status` tinyint(2) unsigned NOT NULL DEFAULT 1,&lt;br /&gt;
  PRIMARY KEY (`job_id`),&lt;br /&gt;
  UNIQUE KEY `url` (`url`) USING HASH&lt;br /&gt;
) ENGINE=InnoDB AUTO_INCREMENT=3573 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;&lt;br /&gt;
/*!40101 SET character_set_client = @saved_cs_client */;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: BLOB/TEXT column &#039;url&#039; used in key specification with a key length e.g. {{kbd | key=`url`(500)}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DROP TABLE IF EXISTS `my_table`;&lt;br /&gt;
/*!40101 SET @saved_cs_client     = @@character_set_client */;&lt;br /&gt;
/*!40101 SET character_set_client = utf8 */;&lt;br /&gt;
CREATE TABLE `my_table` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `title` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,&lt;br /&gt;
  `url` text COLLATE utf8mb4_unicode_ci NOT NULL,&lt;br /&gt;
  `status` tinyint(2) unsigned NOT NULL DEFAULT 1,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `url` (`url`(500))&lt;br /&gt;
) ENGINE=InnoDB AUTO_INCREMENT=3573 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;&lt;br /&gt;
/*!40101 SET character_set_client = @saved_cs_client */;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Access and Authentication Errors ==&lt;br /&gt;
&lt;br /&gt;
=== [Warning] Using a password on the command line interface can be insecure ===&lt;br /&gt;
Problem Description: &lt;br /&gt;
When exporting or importing MySQL databases via bash commands, you may encounter the following warning:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql: [Warning] Using a password on the command line interface can be insecure.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
mysqldump: [Warning] Using a password on the command line interface can be insecure.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This typically occurs when using commands like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -u USERNAME -p -h 127.0.0.1 --default-character-set=utf8 DATABASE &amp;gt; DATABASE.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: To resolve this warning and improve security, follow these steps:&lt;br /&gt;
# Set up a login path using [https://dev.mysql.com/doc/refman/8.4/en/mysql-config-editor.html mysql_config_editor]: {{kbd | key=&amp;lt;nowiki&amp;gt;mysql_config_editor set --login-path=local --host=localhost --user=root --password&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# Use the login path when exporting or importing MySQL databases (1) For exporting: {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump --login-path=local --default-character-set=utf8 DATABASE &amp;gt; DATABASE.sql&amp;lt;/nowiki&amp;gt;}} (2) For importing: {{kbd | key=&amp;lt;nowiki&amp;gt;pv DATABASE.sql.gz | gunzip | mysql --login-path=local --default_character_set utf8 --force DATABASE&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# To view all configured login paths {{kbd | key=&amp;lt;nowiki&amp;gt;mysql_config_editor print --all&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
By using a login path, you avoid exposing your password in the command line, thus resolving the security warning.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1044 (42000): Access denied for user &#039;USER&#039;@&#039;localhost&#039; to database &#039;DATABASE_NAME&#039; ===&lt;br /&gt;
Message: {{kbd | key=&amp;lt;nowiki&amp;gt;ERROR 1044 (42000): Access denied for user &#039;USER&#039;@&#039;localhost&#039; to database &#039;DATABASE_NAME&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pv file.sql.gz | gunzip | mysql -u USER -p --host=127.0.0.1 --default_character_set utf8 DATABASE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check the permission of specified user name &amp;amp; database name&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u USER -p --host=127.0.0.1&lt;br /&gt;
Enter password:&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; use DATABASE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Message: {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump: Got error: 1044: Access denied for user &#039;USER&#039;@&#039;localhost&#039; to database &#039;DATABASE_NAME&#039; when doing LOCK TABLES&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h 127.0.0.1 -u USER -p DATABASE_NAME TABLE_NAME &amp;gt; TABLE_NAME.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Add the mysqldump option {{kbd | key=&amp;lt;nowiki&amp;gt;--skip-lock-tables&amp;lt;/nowiki&amp;gt;}} if you cannot grant the user permissions &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/7415698/skip-lock-tables-and-mysqldump mysql - skip-lock-tables and mysqldump - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h 127.0.0.1 -u USER -p --skip-lock-tables DATABASE_NAME TABLE_NAME &amp;gt; TABLE_NAME.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Error!: SQLSTATE[28000]: Invalid authorization specification: 1045 Access denied ===&lt;br /&gt;
Message: Error!: {{kbd | key=&amp;lt;nowiki&amp;gt;SQLSTATE[28000]: Invalid authorization specification: 1045 Access denied for user &#039;user&#039;@&#039;localhost&#039; (using password: YES)&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* If you executed the query{{kbd | key=INTO OUTFILE}}, you need to grant the file permission e.g. {{kbd | key=GRANT FILE ON *.* TO &#039;user&#039;@&#039;localhost&#039;;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html#priv_file MySQL :: MySQL 5.7 Reference Manual :: 6.2.1 Privileges Provided by MySQL]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/6091427/mysql-into-outfile-access-denied-but-my-user-has-all-access-and-the-fold MYSQL into outfile &amp;quot;access denied&amp;quot; - but my user has &amp;quot;ALL&amp;quot; access.. and the folder is CHMOD 777 - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Related issue: &amp;quot;Error!: SQLSTATE[HY000]: General error: 1290 The MySQL server is running with the --secure-file-priv option so it cannot execute this statement&amp;quot;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/32737478/how-should-i-tackle-secure-file-priv-in-mysql database - How should I tackle --secure-file-priv in MySQL? - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1049 (42000): Unknown database ===&lt;br /&gt;
Message: ERROR 1049 (42000): Unknown database &#039;MY_DATABASE_p&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check the database &#039;MY_DATABASE_p&#039; is exists&lt;br /&gt;
* Check there are no {{kbd | key=TAB}} character after database name if you want to connect the database &#039;MY_DATABASE&#039; when you are using console.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1045 (28000): Access denied for user ===&lt;br /&gt;
Message: ERROR 1045 (28000): Access denied for user &#039;user&#039;@&#039;localhost&#039; (using password: YES)&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check the typo of user name.&lt;br /&gt;
* Check the typo of password.&lt;br /&gt;
* If you are using the console command, escape the password if it contains special characters e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;mysql -u root -p&#039;PASSWORD&#039;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[http://superuser.com/questions/123928/escaping-a-password-using-mysqldump-console escape characters - Escaping a password using mysqldump console - Super User]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* You may need to delete the existing account setting and re-config again.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1827 (HY000): The password hash doesn&#039;t have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function. ===&lt;br /&gt;
Wrong sql query as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;test&#039;@&#039;localhost&#039; IDENTIFIED BY PASSWORD &#039;my_password&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
(1) Check if the account was created or not&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT User,Host FROM mysql.user;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2a) If the account was created, set the password for the account.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET PASSWORD FOR &#039;test&#039;@&#039;localhost&#039; = PASSWORD(&#039;my_password&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2b) If the account was NOT created, re-create the account.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;test&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;my_password&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
references&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/create-user.html MySQL :: MySQL 5.7 Reference Manual :: 14.7.1.2 CREATE USER Syntax]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/set-password.html MySQL :: MySQL 5.7 Reference Manual :: 14.7.1.7 SET PASSWORD Syntax]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/drop-user.html MySQL :: MySQL 5.7 Reference Manual :: 14.7.1.3 DROP USER Syntax]&lt;br /&gt;
&lt;br /&gt;
== SQL and Query Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Caught exception: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined ===&lt;br /&gt;
Solutions&lt;br /&gt;
* Number of question marks is not matched with the number of query values &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/10966251/sqlstatehy093-invalid-parameter-number-parameter-was-not-defined php Invalid parameter number: parameter was not defined - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* The array of query values should not be the associative array. Use sequential array!&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1054 - Unknown column in &#039;where clause&#039; ===&lt;br /&gt;
Message: [Err] 1054 - Unknown column &#039;xxx&#039; in &#039;where clause&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
# check the column name &#039;xxx&#039; if exists&lt;br /&gt;
# if the column name &#039;xxx&#039; was computed by the [http://dev.mysql.com/doc/refman/5.7/en/example-user-variables.html User-Defined Variables]. Enclosed the whole query into another parent derived query.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- The query which met the error message: [Err] 1054 - Unknown column &#039;rank&#039; in &#039;where clause&#039;&lt;br /&gt;
SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank`   &lt;br /&gt;
FROM&lt;br /&gt;
(&lt;br /&gt;
        ...&lt;br /&gt;
) semi&lt;br /&gt;
WHERE semi.rank &amp;lt;= 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enclosed the whole query into another parent derived query.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT final.*&lt;br /&gt;
FROM&lt;br /&gt;
(&lt;br /&gt;
        SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank`   &lt;br /&gt;
        FROM&lt;br /&gt;
        (&lt;br /&gt;
                ...&lt;br /&gt;
        ) semi&lt;br /&gt;
) final&lt;br /&gt;
WHERE final.rank &amp;lt;= 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1055: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ===&lt;br /&gt;
Message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Query Error (1055): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column &#039;test.posts.id&#039; which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Query with Error&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Create sample table &lt;br /&gt;
CREATE TABLE posts (&lt;br /&gt;
   id INT,&lt;br /&gt;
   post_id VARCHAR(10), &lt;br /&gt;
   author VARCHAR(50),&lt;br /&gt;
   content TEXT,&lt;br /&gt;
   likes INT,&lt;br /&gt;
   post_time DATETIME&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- Insert sample data&lt;br /&gt;
INSERT INTO posts VALUES&lt;br /&gt;
(1, &#039;A123&#039;, &#039;Alice&#039;, &#039;First post&#039;, 10, &#039;2024-01-01&#039;),&lt;br /&gt;
(2, &#039;A123&#039;, &#039;Bob&#039;, &#039;Great!&#039;, 5, &#039;2024-01-02&#039;), &lt;br /&gt;
(3, &#039;A123&#039;, &#039;Bob&#039;, &#039;Nice!&#039;, 3, &#039;2024-01-03&#039;);&lt;br /&gt;
&lt;br /&gt;
-- This will cause an error&lt;br /&gt;
SELECT &lt;br /&gt;
   id,          -- Problem: Not in GROUP BY&lt;br /&gt;
   post_id,&lt;br /&gt;
   author,&lt;br /&gt;
   GROUP_CONCAT(content SEPARATOR &amp;quot;\n&amp;quot;) AS content,     -- This is OK as it uses aggregate function&lt;br /&gt;
   likes        -- Problem: Not in GROUP BY&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: Fix the query by either (1) including all columns in GROUP BY or (2) using aggregate functions (like MAX, MIN, SUM, COUNT, GROUP_CONCAT) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- Method 1: disable `sql_mode=only_full_group_by`&lt;br /&gt;
```&lt;br /&gt;
There are two ways to disable `sql_mode=only_full_group_by`:&lt;br /&gt;
&lt;br /&gt;
1. Temporary Change (Only affects current session)&lt;br /&gt;
```sql&lt;br /&gt;
SET sql_mode=(SELECT REPLACE(@@sql_mode,&#039;ONLY_FULL_GROUP_BY&#039;,&#039;&#039;));&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
2. Permanent Change (Modify MySQL configuration file)&lt;br /&gt;
- Locate MySQL configuration file (usually `my.cnf` or `my.ini`) &lt;br /&gt;
- Add or modify in the `[mysqld]` section:&lt;br /&gt;
```ini&lt;br /&gt;
[mysqld]&lt;br /&gt;
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
Important Notes:&lt;br /&gt;
1. After modifying the configuration file, MySQL service needs to be restarted to take effect&lt;br /&gt;
2. Disabling this setting is not recommended because:&lt;br /&gt;
   - May lead to unpredictable query results&lt;br /&gt;
   - Violates SQL standards&lt;br /&gt;
   - May cause compatibility issues in future versions&lt;br /&gt;
&lt;br /&gt;
The recommended approach is to fix the SQL query rather than changing the SQL mode.&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
-- Method 2: Add all columns to GROUP BY&lt;br /&gt;
SELECT &lt;br /&gt;
   id,&lt;br /&gt;
   post_id,&lt;br /&gt;
   author,&lt;br /&gt;
   content,&lt;br /&gt;
   likes&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author, id, content, likes;&lt;br /&gt;
&lt;br /&gt;
-- Method 3: Use aggregate functions for non-GROUP BY columns  &lt;br /&gt;
SELECT &lt;br /&gt;
   MAX(id) as id,&lt;br /&gt;
   post_id,&lt;br /&gt;
   author, &lt;br /&gt;
   GROUP_CONCAT(content) as contents,&lt;br /&gt;
   SUM(likes) as total_likes&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1052 - Column &#039;column_name&#039; in field list is ambiguous ===&lt;br /&gt;
Message: Error Code: 1052. Column &#039;column_name&#039; in field list is ambiguous&lt;br /&gt;
&lt;br /&gt;
Cause: Since &#039;column_name&#039; is present in 2 or more tables ...&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/19351633/error-code-1052-column-admin-id-in-field-list-is-ambiguous mysql - Error Code: 1052 Column &#039;admin_id&#039; in field list is ambiguous - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: Remain only one table name &#039;column_name&#039; OR adding the table name alias.&lt;br /&gt;
&lt;br /&gt;
=== Error!: SQLSTATE[42000]: Syntax error or access violation ===&lt;br /&gt;
Message: {{kbd | key=&amp;lt;nowiki&amp;gt;Error!: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ...&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Solution: &lt;br /&gt;
* [[SQL syntax debug]]&lt;br /&gt;
* [https://www.eversql.com/sql-syntax-check-validator/ SQL Syntax Check Online, SQL Validator, Instant SQL Compiler Online – EverSQL] {{exclaim}} Not support the [https://www.php.net/manual/en/pdo.prepare.php PHP: PDO::prepare] which the query syntax contains question marks.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1366: Incorrect string value ===&lt;br /&gt;
Message: SQLSTATE[HY000]: General error: 1366 Incorrect string value: &#039;\xF0\x9F\x87\xAF\xF0\x9F...&#039; for column &#039;XXX&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check the charset of PHP PDO. AND execute {{kbd | key=set names utf8mb4}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/54947392/incorrect-string-value-when-trying-to-pass-emoji-to-the-db-encoded-with-utf8mb4 php - Incorrect string value when trying to pass emoji to the db encoded with utf8mb4 - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Check the configuration of table&lt;br /&gt;
** CHARACTER SETS (aka 字元集、字符集): {{kbd | key=utf8mb4}}&lt;br /&gt;
** COLLATION (aka 定序、字元序): {{kbd | key=utf8mb4_unicode_ci}}&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1070 (42000): Specified key was too long; max key length is 767 bytes ===&lt;br /&gt;
&#039;&#039;&#039;Envoronment&#039;&#039;&#039;: MySQL 5.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Root cause&#039;&#039;&#039;: &amp;quot;By default, the index key prefix length limit is 767 bytes. See Section 13.1.13, “CREATE INDEX Statement”. For example, you might hit this limit with a column prefix index of more than 255 characters on a TEXT or VARCHAR column, assuming a utf8mb3 character set and the maximum of 3 bytes for each character. When the innodb_large_prefix configuration option is enabled, the index key prefix length limit is raised to 3072 bytes for InnoDB tables that use the DYNAMIC or COMPRESSED row format.&amp;quot; &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.6/en/innodb-limits.html MySQL :: MySQL 5.6 Reference Manual :: 14.22 InnoDB Limits]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&amp;lt;ref&amp;gt;[https://www.opencli.com/mysql/mysql-%E5%95%8F%E9%A1%8C-1071-42000-specified-key-was-too-long MySQL 問題: 1071 (42000): Specified key was too long]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://terrytongcc.com/%E5%A6%82%E4%BD%95%E8%A7%A3%E6%B1%BAmysql%E5%87%BA%E7%8F%BEerror-1118-row-size-too-large-8126%E5%95%8F%E9%A1%8C/ 如何解決MySQL出現Error 1118: row size too large (&amp;gt; 8126)問題 | Terry Tong – Full Stack Web Developer]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* execute SQL query as the following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET GLOBAL innodb_file_format = Barracuda;&lt;br /&gt;
SET GLOBAL innodb_file_format_max = Barracuda;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* modify the MySQL configuration file&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
innodb_file_per_table = 1&lt;br /&gt;
innodb-file-format = BARRACUDA&lt;br /&gt;
innodb-large-prefix = ON&lt;br /&gt;
innodb_file_format_max = BARRACUDA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* restart the MySQL server&lt;br /&gt;
&lt;br /&gt;
* execute SQL query as the following:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE `table_name` ROW_FORMAT=COMPRESSED;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1267: Illegal mix of collations (utf8mb4_general_ci,COERCIBLE) and (latin1_swedish_ci,IMPLICIT) for operation &#039;concat&#039; ===&lt;br /&gt;
&lt;br /&gt;
Error condition: Tried to concat different type of data e.g. CONCAT(string, int)&lt;br /&gt;
&lt;br /&gt;
Solution: {{kbd | key =&amp;lt;nowiki&amp;gt;SELECT CONCAT(`string_column`, CONVERT(`int_column`, CHAR))&amp;lt;/nowiki&amp;gt;}} or {{kbd | key =&amp;lt;nowiki&amp;gt;SELECT CONCAT(`string_column`, CAST(`int_column` AS CHAR))&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/15368753/cast-int-to-varchar mysql - Cast int to varchar - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blog.51cto.com/bian5399/1092772 mysql字符集问题：Illegal mix of collations-每天让自己进步一点-51CTO博客]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1235: This version of MySQL doesn&#039;t yet support &#039;LIMIT &amp;amp; IN/ALL/ANY/SOME subquery&#039; ===&lt;br /&gt;
Message: ERROR 1235 (42000): This version of MySQL doesn&#039;t yet support &#039;LIMIT &amp;amp; IN/ALL/ANY/SOME subquery&#039;. &lt;br /&gt;
&lt;br /&gt;
Solution: Change the syntax of subquery to {{kbd | key =column_name BETWEEN start_number to end_number}}&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
* [https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.6/en/subquery-restrictions.html MySQL :: MySQL Restrictions and Limitations :: 4 Restrictions on Subqueries]&lt;br /&gt;
&lt;br /&gt;
=== Error: MySQL Incorrect datetime value: &#039;0000-00-00 00:00:00&#039; ===&lt;br /&gt;
&lt;br /&gt;
Workaround solution&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/35565128/mysql-incorrect-datetime-value-0000-00-00-000000 MySQL Incorrect datetime value: &#039;0000-00-00 00:00:00&#039; - Stack Overflow]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET SQL_MODE=&#039;ALLOW_INVALID_DATES&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Optimization Solutions for Query Performance ===&lt;br /&gt;
&lt;br /&gt;
Originally, product_id (VARCHAR, 200) was used as the primary key. When the data volume reached approximately 600,000, data processing became very slow. Adding a field id (int) as the primary key can solve the problem of slow query speed.&lt;br /&gt;
&lt;br /&gt;
== Connection and Network Errors ==&lt;br /&gt;
&lt;br /&gt;
=== Error: SQLSTATE[HY000] [2002] No such file or directory ===&lt;br /&gt;
Error message: SQLSTATE[HY000] [2002] No such file or directory&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
* Modify the host of database from {{kbd | key=localhost}} to {{kbd | key=127.0.0.1}}&lt;br /&gt;
&lt;br /&gt;
=== ERROR 2013: Lost connection to MySQL server during query ===&lt;br /&gt;
Message: Error Code: 2013. Lost connection to MySQL server during query&lt;br /&gt;
&lt;br /&gt;
Condition: After executed the following query contains number of rows which exceed 1,000,000 rows, I met the error message &#039;Error Code: 2013. Lost connection to MySQL server during query&#039;.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Increase the settings of (1) &#039;&#039;&#039;DBMS connection keep-alive interval (in seconds)&#039;&#039;&#039; &amp;amp; (2)  &#039;&#039;&#039;DBMS connection read time out (in seconds)&#039;&#039;&#039; on [https://www.mysql.com/products/workbench/ MySQL Workbench] &amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/16877574/how-can-i-execute-sql-queries-that-take-longer-99-999-seconds-on-mysql-workbench How can I execute SQL queries that take longer 99,999 seconds on MySQL Workbench? - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-during-query Error Code: 2013. Lost connection to MySQL server during query - Stack Overflow]&amp;lt;/ref&amp;gt;. And remember to restart the MySQL Workbench after the settings were modified. e.g. The default setting of &#039;&#039;&#039;DBMS connection read time out (in seconds)&#039;&#039;&#039; is 30 seconds, you may increase to 6000 seconds (100 minutes).&lt;br /&gt;
* Reduce the number of rows to reduce the execution time (1) by using {{kbd | key=LIMIT}} clause (2) or by splitting the query size e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;MOD(column, 2) = 0&amp;lt;/nowiki&amp;gt;}} &amp;amp; {{kbd | key=&amp;lt;nowiki&amp;gt;MOD(column, 2) &amp;gt; 0&amp;lt;/nowiki&amp;gt;}} if the column is numeric.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table` LIMIT 0, 10000;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 2003 (HY000): Can&#039;t connect to MySQL server on &#039;ip&#039; ===&lt;br /&gt;
&#039;&#039;&#039;ERROR 2003 (HY000): Can&#039;t connect to MySQL server on &#039;IP&#039; &#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check if the IP is alive&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ERROR 2003 (HY000): Can&#039;t connect to MySQL server on &#039;IP&#039; (111 &amp;quot;Connection refused&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check if the MySQL service is running or not&amp;lt;ref&amp;gt;[https://www.cyberciti.biz/faq/how-to-find-out-if-mysql-is-running-on-linux/ HowTo: Find out If MySQL Is Running On Linux Or Not]&amp;lt;/ref&amp;gt;. If not, start the MySQL service.&lt;br /&gt;
* Check the firewall rules&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ERROR 2003 (HY000): Can&#039;t connect to MySQL server on &#039;IP&#039; (116 &amp;quot;Connection timed out&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Check the configuration of MySQL&lt;br /&gt;
** comment out [https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_bind-address bind-address] = 127.0.0.1 or set to *&lt;br /&gt;
** comment out [https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-networking skip-networking]&lt;br /&gt;
* Check the permission of MySQL database user.&lt;br /&gt;
* Check the firewall rules at (1) your personal computer (2) the server where MySQL service located (3) ISP/VM providers. More on [https://devops.profitbricks.com/tutorials/install-mysql-on-centos-7/#firewall-rules Install MySQL on CentOS 7 | ProfitBricks DevOps Central] &lt;br /&gt;
** Check if your IP address was included in the allowed IP address list of firewall rules.&lt;br /&gt;
** Check if your IP address was changed by using [https://whatismyipaddress.com/ What Is My IP Address?] services.&lt;br /&gt;
* (optional) Monitor the firewall activity. More on [https://www.howtogeek.com/220204/how-to-track-firewall-activity-with-the-windows-firewall-log/ How to Track Firewall Activity with the Windows Firewall Log] on {{Win}}&lt;br /&gt;
&lt;br /&gt;
References:&lt;br /&gt;
* [https://support.rackspace.com/how-to/mysql-connect-to-your-database-remotely/ Connect to a MySQL database remotely]&lt;br /&gt;
* [http://wiki.navicat.com/wiki/index.php/Error_2003 Error 2003 - Navicat Wiki]&lt;br /&gt;
* [http://faq.webyog.com/content/23/15/en/error-no-2003-can_t-connect.html SQLyog MySQL Admin FAQ - Error no. 2003: Can&#039;t connect...]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 2002: SQLSTATE[HY000] [2002] Only one usage of each socket address (protocol/network address/port) is normally permitted ===&lt;br /&gt;
&lt;br /&gt;
Message: (1) [2002] Only one usage of each socket address (protocol/network address/port) is normally permitted (2) &amp;quot;SQLSTATE[HY000] [2002] 一次只能用一個通訊端位址 (通訊協定/網路位址/連接埠)。&amp;quot; in Chinese&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Solution: [https://stackoverflow.com/questions/10317974/mysql-php-error2002-only-one-usage-of-each-socket-address-protocol-network-a MySQL/PHP Error:(2002) Only one usage of each socket address (protocol/network address/port) is normally permitted - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 2002: Cannot connect: SQLSTATE[HY000] [2002] ===&lt;br /&gt;
Condition on Cygwin terminal of Windows:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
Enter password:&lt;br /&gt;
ERROR 2002 (HY000): Can&#039;t connect to local MySQL server through socket &#039;/var/run/mysql.sock&#039; (2)&lt;br /&gt;
&lt;br /&gt;
$ mysql -h localhost -u root -p&lt;br /&gt;
Enter password:&lt;br /&gt;
ERROR 2002 (HY000): Can&#039;t connect to local MySQL server through socket &#039;/var/run/mysql.sock&#039; (2)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* Change {{kbd | key=&amp;lt;nowiki&amp;gt;-h localhost&amp;lt;/nowiki&amp;gt;}} to {{kbd | key=&amp;lt;nowiki&amp;gt;-h 127.0.0.1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -h 127.0.0.1 -u root -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If still not work, reboot the server and restart the MySQL service.&lt;br /&gt;
&lt;br /&gt;
=== SQLSTATE[HY000] [2002] Can&#039;t assign requested address ===&lt;br /&gt;
Error message&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Caught PDOException: /path/to/script.php ERROR: Cannot connect: SQLSTATE[HY000] [2002] Can&#039;t assign requested address&lt;br /&gt;
utf8: SQLSTATE[HY000] [2002] Can&#039;t assign requested address&lt;br /&gt;
&lt;br /&gt;
Caught PDOException: /path/to/script.php ERROR: Cannot connect: SQLSTATE[HY000] [2002] Operation timed out&lt;br /&gt;
utf8: SQLSTATE[HY000] [2002] Operation timed out&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Walkaround Solution:&lt;br /&gt;
* You can extend the interval between each MySQL save operation.&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
It typically occurs when your application is unable to establish a connection to the specified database server.&lt;br /&gt;
&lt;br /&gt;
=== Resolving &amp;quot;Host &#039;xx.xx.xxx.xxx&#039; is blocked because of many connection errors&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Error Message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host &#039;xx.xx.xxx.xxx&#039; is blocked because of many connection errors; unblock with &#039;mysqladmin flush-hosts&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Understanding the Issue&lt;br /&gt;
&lt;br /&gt;
(1) Check the threshold value&lt;br /&gt;
&lt;br /&gt;
MySQL&#039;s mechanism works as follows: once the same source host (identified by IP or hostname) accumulates a number of &amp;quot;connection errors&amp;quot; reaching the value configured in `max_connect_errors`, MySQL automatically blocks that source and refuses further connections from it.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW VARIABLES LIKE &#039;max_connect_errors&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The threshold found was 100.&lt;br /&gt;
&lt;br /&gt;
(2) Check which hosts are currently recorded/blocked&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IP, HOST, SUM_CONNECT_ERRORS, COUNT_HOST_BLOCKED_ERRORS&lt;br /&gt;
FROM performance_schema.host_cache&lt;br /&gt;
ORDER BY SUM_CONNECT_ERRORS DESC;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Confirmed that the only blocked IP is `xx.xx.xxx.xxx`, with `SUM_CONNECT_ERRORS` exactly matching the threshold of 100, and no other IPs were affected.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Resolving the Issue&lt;br /&gt;
&lt;br /&gt;
⚠️ Note: `flush-hosts` / `FLUSH HOSTS` clears the **entire** host cache, not just a single IP. If the query results show records for other hosts as well, they will all be reset at the same time. For a shared production environment, it&#039;s recommended to confirm with other administrators before running this.&lt;br /&gt;
&lt;br /&gt;
(1) In a terminal or command prompt, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqladmin -u root -p flush-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u root -p&lt;br /&gt;
Once inside the MySQL shell, run: FLUSH HOSTS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The `FLUSH HOSTS` syntax has been deprecated since MySQL 8.0.23 and removed in 8.4&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.4/en/performance-schema-host-cache-table.html MySQL :: MySQL 8.4 Reference Manual :: 29.12.22.3 The host_cache Table]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://oneuptime.com/blog/post/2026-03-31-mysql-fix-max-connect-errors-blocked-hosts/view How to Fix max_connect_errors and Blocked Hosts in MySQL]&amp;lt;/ref&amp;gt;. If your environment is on a newer version, use the officially recommended alternative instead:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE performance_schema.host_cache;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2) Verify after execution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IP, HOST, SUM_CONNECT_ERRORS, COUNT_HOST_BLOCKED_ERRORS&lt;br /&gt;
FROM performance_schema.host_cache&lt;br /&gt;
ORDER BY SUM_CONNECT_ERRORS DESC;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Result: no rows returned (0 rows), indicating the host cache has been cleared — the previous connection error counts and blocked status have been reset, and the IP should now be able to connect normally.&lt;br /&gt;
&lt;br /&gt;
=== Transfer Data from MySQL to MSSQL ===&lt;br /&gt;
Condition: Need to synchronize or transfer data from MySQL database to Microsoft SQL Server.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* (Manually method) Export MySQL data in a format compatible with Microsoft SQL Server: {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump --compatible=mssql [database_name]&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html#option_mysqldump_compatible MySQL :: MySQL 8.4 Reference Manual :: 6.5.4 mysqldump — A Database Backup Program]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* (Automated method) Use [https://learn.microsoft.com/en-us/sql/ssma/sql-server-migration-assistant?view=sql-server-ver17 Microsoft SQL Server Migration Assistant] or &#039;&#039;$&#039;&#039; [https://www.webyog.com/product/sqlyog SQLyog] tool (for {{Win}}). Use query commands to specify the data to be transferred from MS SQL server to MySQL server.&lt;br /&gt;
&lt;br /&gt;
Example mysqldump command&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -h 127.0.0.1 -u root -p \&lt;br /&gt;
  --skip-lock-tables \&lt;br /&gt;
  --single-transaction \&lt;br /&gt;
  --default-character-set=utf8 \&lt;br /&gt;
  --compatible=mssql \&lt;br /&gt;
  --skip-extended-insert \&lt;br /&gt;
  --no-auto-rehash \&lt;br /&gt;
  --skip-comments \&lt;br /&gt;
  database_name &amp;gt; database_name.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related issues:&lt;br /&gt;
* For large data volumes, connection timeout issues may occur. In such cases, refer to Error 2013 handling methods by increasing connection timeout settings or processing data in batches.&lt;br /&gt;
* The two database systems have differences in data types, so data compatibility should be verified before transfer.&lt;br /&gt;
&lt;br /&gt;
== Resource and Environmental Errors ==&lt;br /&gt;
=== could not access the mysql log ===&lt;br /&gt;
Version: XAMPP 5.6.15-1 on {{Mac}}&lt;br /&gt;
&lt;br /&gt;
Cause:&lt;br /&gt;
* the error log only be accessed by the user named {{kbd | key=mysql}}&amp;lt;ref&amp;gt;Open the MySQL configuration file located: /Applications/XAMPP/xamppfiles/etc/my.cnf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# The MySQL server&lt;br /&gt;
[mysqld]&lt;br /&gt;
user = mysql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution &amp;lt;ref&amp;gt;[http://computerplumber.com/2009/01/using-the-chmod-command-effectively/ Using the CHMOD command effectively @ Computer Plumber]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find the path to the mysql log&lt;br /&gt;
$ ls /Applications/XAMPP/xamppfiles/var/mysql/*.local.err&lt;br /&gt;
&lt;br /&gt;
find the file name of mysql log ex: XXXMacBook-Pro.local.err&lt;br /&gt;
&lt;br /&gt;
set the permission of log&lt;br /&gt;
$ sudo chmod 774 /Applications/XAMPP/xamppfiles/var/mysql/XXXMacBook-Pro.local.err&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Could not open single-table tablespace file filename.ibd ===&lt;br /&gt;
Version: XAMPP 5.6.15-1 on {{Mac}}&lt;br /&gt;
&lt;br /&gt;
Condition: The Mac was shutdown accidentally and the database was not shutdown normally. After reboot the Mac, unable to start the MySQL service&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/35184367/error-could-not-open-single-table-tablespace-file-scrapers-records-ibd mysql - Error: could not open single-table tablespace file .\scrapers\records.ibd - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://chepri.com/our-blog/mysql-innodb-corruption-and-recovery/ MySQL Won&#039;t Start - InnoDB Corruption and Recovery. - Chepri]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Possible solution: &lt;br /&gt;
# Edit the MySQL configuration file located: /Applications/XAMPP/xamppfiles/etc/my.cnf&lt;br /&gt;
# Add this line: {{kbd | key=&amp;lt;nowiki&amp;gt;innodb_force_recovery = 1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# Try to start the MySQL service&lt;br /&gt;
# If the MySQL service started successfully, edit the MySQL configuration file and mark this line : {{kbd | key=&amp;lt;nowiki&amp;gt;#innodb_force_recovery = 1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# Restart the MySQL service&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== MySQL server has gone away ===&lt;br /&gt;
Error conditions:&lt;br /&gt;
* Enable the option {{kbd | key = log_error}} in MySQL config file e.g. {{kbd | key = &amp;lt;nowiki&amp;gt;log_error=&amp;quot;file_name_of_error_log&amp;quot;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/error-log.html MySQL :: MySQL 8.0 Reference Manual :: 5.4.2 The Error Log]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Example error log located at {{kbd | key = &amp;lt;nowiki&amp;gt;file_name_of_error_log&amp;lt;/nowiki&amp;gt;}} are as following:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2019-05-23T08:52:19.989876Z 99980 [Note] Aborted connection 99980 to db: &#039;DB_NAME&#039; user: &#039;DB_USER&#039; host: &#039;localhost&#039; (Got a packet bigger than &#039;max_allowed_packet&#039; bytes)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
&lt;br /&gt;
* Increase the value of {{kbd | key = &amp;lt;nowiki&amp;gt;max_allowed_packet&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/5688403/how-to-check-and-set-max-allowed-packet-mysql-variable php - how to check and set max_allowed_packet mysql variable - Stack Overflow]&amp;lt;/ref&amp;gt; if the MySQL user has the {{kbd | key = &amp;lt;nowiki&amp;gt;SUPER&amp;lt;/nowiki&amp;gt;}} privilege&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html MySQL :: MySQL 8.0 Reference Manual :: 6.2.2 Privileges Provided by MySQL]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Error!: SQLSTATE[HY000]: General error ===&lt;br /&gt;
Message: Error!: SQLSTATE[HY000]: General error&lt;br /&gt;
&lt;br /&gt;
Condition: When I used the [http://php.net/manual/en/book.pdo.php PHP: PDO]&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
* &amp;quot;You do not use {{kbd | key=&amp;lt;nowiki&amp;gt;$result = $stmt-&amp;gt;fetchAll();&amp;lt;/nowiki&amp;gt;}} with update or insert queries&amp;quot; &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/12979510/pdo-error-sqlstatehy000-general-error-when-updating-database php - PDO error: &amp;quot; SQLSTATE[HY000]: General error &amp;quot; When updating database - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* You do not use {{kbd | key=&amp;lt;nowiki&amp;gt;$result = $stmt-&amp;gt;fetchAll();&amp;lt;/nowiki&amp;gt;}} in the query {{kbd | key=&amp;lt;nowiki&amp;gt;INTO OUTFILE ...&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/ Save MySQL query results into a text or CSV file]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/13369164/cant-create-write-to-file-errcode-22 mysql - Can&#039;t create/write to file (Errcode: 22) - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Error!: SQLSTATE[HY000]: General error: 3 Error writing file xxx.tmp (Errcode: 28 - No space left on device) ===&lt;br /&gt;
&lt;br /&gt;
Example error message: Error!: SQLSTATE[HY000]: General error: 3 Error writing file &#039;C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp\MY2713.tmp&#039; (Errcode: 28 - No space left on device)&lt;br /&gt;
&lt;br /&gt;
Condition: Check the disk free space of mysql {{kbd | key=tmpdir}} folder&lt;br /&gt;
&lt;br /&gt;
Solutions: Increase the free space of mysql {{kbd | key=tmpdir}} folder. Or change the mysql {{kbd | key=tmpdir}} folder with another hard disk drive contains more free space&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/11990887/changing-the-tmp-folder-of-mysql Changing the tmp folder of mysql - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Check the current mysql {{kbd | key=tmpdir}} folder. Query the syntax {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;tmpdir&#039;;&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
** On {{Win}} the default temporary folder&amp;lt;ref&amp;gt;[https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/where-is-the-temporary-folder/44a039a5-45ba-48dd-84db-fd700e54fd56 Where is the Temporary folder? - Microsoft Community]&amp;lt;/ref&amp;gt; is {{kbd | key=&amp;lt;nowiki&amp;gt;%TMP%&amp;lt;/nowiki&amp;gt;}} = {{kbd | key=&amp;lt;nowiki&amp;gt;%USERPROFILE%\AppData\Local\Temp&amp;lt;/nowiki&amp;gt;}}. &lt;br /&gt;
** On {{Linux}} the default temporary folder maybe is {{kbd | key=&amp;lt;nowiki&amp;gt;/tmp&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* Edit the [https://dev.mysql.com/doc/refman/5.7/en/option-files.html mysql configuration file]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
tmpdir=X:/temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Restart the MySQL service&lt;br /&gt;
&lt;br /&gt;
Validation&lt;br /&gt;
* Query the syntax {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;tmpdir&#039;;&amp;lt;/nowiki&amp;gt;}} to validate the modification of mysql configuration file.&lt;br /&gt;
&lt;br /&gt;
=== errno 11 - Resource temporarily unavailable ===&lt;br /&gt;
Message: &#039;&#039;&#039;Can&#039;t create a new thread (errno 11 &amp;quot;Resource temporarily unavailable&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Solution: [https://duntuk.com/how-raise-ulimit-open-files-and-mysql-openfileslimit How to permanently raise ulimit &#039;open files&#039; and MySQL &#039;open_files_limit&#039;]&lt;br /&gt;
&lt;br /&gt;
=== errno 41 - Error dropping database ===&lt;br /&gt;
Message: &#039;&#039;&#039;Error dropping database (can&#039;t rmdir &#039;.\TABLE_NAME&#039;, errno: 41)&#039;&#039;&#039; occurred when I executed &#039;&#039;&#039;DROP DATABASE `TABLE_NAME`&#039;&#039;&#039;;&lt;br /&gt;
&lt;br /&gt;
Solution: [https://stackoverflow.com/questions/17947255/error-in-dropping-a-database-in-mysql-cant-rmdir-oro-errno-41/19888293 phpmyadmin - Error in dropping a database in MySQL (can&#039;t rmdir &#039;.\oro&#039;, errno: 41) - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== How to resolve &amp;quot;zsh: operation not permitted: xxx.sql&amp;quot; ===&lt;br /&gt;
Error condition&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/applications/MAMP/library/bin/mysql -u [USERNAME] -p [DATABASE_NAME] &amp;lt; [PATH_TO_SQL_FILE]&lt;br /&gt;
&lt;br /&gt;
zsh: operation not permitted: PATH_TO_SQL_FILE.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: Check Security &amp;amp; Privacy Settings: macOS may block certain actions from the terminal due to security settings. You can try allowing full disk access to the terminal:&lt;br /&gt;
&lt;br /&gt;
* Open System Preferences.&lt;br /&gt;
* Go to Security &amp;amp; Privacy.&lt;br /&gt;
* Select the Privacy tab.&lt;br /&gt;
* Scroll down to Full Disk Access.&lt;br /&gt;
* Click the lock icon to make changes (you might need your administrator password).&lt;br /&gt;
* Find the Terminal app or iTerm2 or whatever terminal you are using and check the box to allow full disk access.&lt;br /&gt;
* Restart your terminal.&lt;br /&gt;
&lt;br /&gt;
=== Resolve insufficient hard disk space where mysql data located ===&lt;br /&gt;
[http://errerrors.blogspot.com/2016/07/mysql.html Err: 解決 MySQL 資料庫所在硬碟空間不足的狀況]&lt;br /&gt;
&lt;br /&gt;
=== PHP Fatal Error: Allowed Memory Size Exhausted when import SQL.GZ file using adminer ===&lt;br /&gt;
&lt;br /&gt;
solution: Using the naive mysqldump command to generate the backup file. And import the backup by using mysql command.&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1206: The total number of locks exceeds the lock table size ===&lt;br /&gt;
Message: Error Code: 1206. The total number of locks exceeds the lock table size&lt;br /&gt;
&lt;br /&gt;
Current condition&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/show-variables.html MySQL :: MySQL 8.0 Reference Manual :: 13.7.6.39 SHOW VARIABLES Syntax]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* Keywin {{kbd | key = &amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;innodb_buffer_pool_size&#039;;&amp;lt;/nowiki&amp;gt;}}. If it returns {{kbd | key=8388608}}, it means {{kbd | key=8388608}} bytes ≅ 8MB.&lt;br /&gt;
&lt;br /&gt;
Solution: &lt;br /&gt;
* Increase {{kbd | key = innodb_buffer_pool_size}} e.g. {{kbd | key =&amp;lt;nowiki&amp;gt;SET GLOBAL innodb_buffer_pool_size=402653184;&amp;lt;/nowiki&amp;gt;}} (402653184 bytes ~ 400MB. Default value is 8MB.)&lt;br /&gt;
* Reduce the size of query data&lt;br /&gt;
&lt;br /&gt;
Further reading:&lt;br /&gt;
* [http://stackoverflow.com/questions/5696857/how-to-change-value-for-innodb-buffer-pool-size-in-mysql-on-mac-os innodb - How to change value for innodb_buffer_pool_size in MySQL on Mac OS? - Stack Overflow].&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html MySQL :: MySQL 5.7 Reference Manual :: 14.6.3.2 Configuring InnoDB Buffer Pool Size]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1205: Lock wait timeout exceeded; try restarting transaction ===&lt;br /&gt;
Solution: &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/5836623/getting-lock-wait-timeout-exceeded-try-restarting-transaction-even-though-im mysql - Getting &amp;quot;Lock wait timeout exceeded; try restarting transaction&amp;quot; even though I&#039;m not using a transaction - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW OPEN TABLES WHERE in_use &amp;gt; 0;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.5.24 SHOW OPEN TABLES Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW [FULL] PROCESSLIST;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.5.29 SHOW PROCESSLIST Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;KILL &amp;lt;process id&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/kill.html MySQL :: MySQL 5.7 Reference Manual :: 13.7.6.4 KILL Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Related article&lt;br /&gt;
* [https://errerrors.blogspot.com/2022/10/how-to-fix-lock-wait-timeout-exceeded-try-restarting-transaction-on-mysql.html 解決 MySQL ERROR 1205: Lock wait timeout exceeded; try restarting transaction]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1114 (HY000): The table `TABLE_NAME` is full ===&lt;br /&gt;
Possible solution&lt;br /&gt;
* Because the hard disk of partition where [https://dev.mysql.com/doc/refman/5.7/en/data-directory.html MySQL Data Directory] located is full or almost full, free some hard disk space&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/730579/error-1114-hy000-the-table-is-full mysql - ERROR 1114 (HY000): The table is full - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous Tool-Specific Errors ==&lt;br /&gt;
&lt;br /&gt;
=== ERROR: ASCII \0 appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode ===&lt;br /&gt;
Message: {{kbd | key=&amp;lt;nowiki&amp;gt;ERROR: ASCII &#039;\0&#039; appeared in the statement, but this is not allowed unless option --binary-mode is enabled and mysql is run in non-interactive mode. Set --binary-mode to 1 if ASCII &#039;\0&#039; is expected. Query: &#039;&#039;.&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
Condition: When I import the sql file and I met the above error message.&lt;br /&gt;
&lt;br /&gt;
Solution: Unzip the file and then import the file again &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/17158367/enable-binary-mode-while-restoring-a-database-from-an-sql-dump mysql - Enable binary mode while restoring a Database from an SQL dump - Stack Overflow]&amp;lt;/ref&amp;gt;. The sql file is a compressed file. You may use [https://en.wikipedia.org/wiki/File_(command) file (command)] for recognizing the type of file.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ file compressed.sql&lt;br /&gt;
compressed.sql: gzip compressed data&lt;br /&gt;
&lt;br /&gt;
$ file plain_text.sql&lt;br /&gt;
plain_text.sql: UTF-8 Unicode text, with very long lines&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Errcode: 13 Permission denied ===&lt;br /&gt;
The message occurred after executed {{kbd | key=&amp;lt;nowiki&amp;gt;mysqld.exe --datadir=..\data --console&amp;lt;/nowiki&amp;gt;}} when I tried to start the service. (Version of MySQL：5.5.5-10.0.12-MariaDB on {{Win}})&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; mysqld.exe --datadir=..\data --console&lt;br /&gt;
180430 10:33:38 [ERROR] mysqld.exe: File &#039;C:\MariaDB_10.0\bin\..\data\aria_log_control&#039; not found (Errcode: 13 &amp;quot;Permission denied&amp;quot;)&lt;br /&gt;
180430 10:33:38 [ERROR] mysqld.exe: Got error &#039;Can&#039;t open file&#039; when trying to use aria control file &#039;C:\MariaDB_10.0\bin\..\data\aria_log_control&#039;&lt;br /&gt;
180430 10:33:38 [ERROR] Plugin &#039;Aria&#039; init function returned error.&lt;br /&gt;
180430 10:33:38 [ERROR] Plugin &#039;Aria&#039; registration as a STORAGE ENGINE failed.&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Using mutexes to ref count buffer pool pages&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: The InnoDB memory heap is disabled&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Compressed tables use zlib 1.2.3&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Not using CPU crc32 instructions&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Initializing buffer pool, size = 4.0G&lt;br /&gt;
180430 10:33:38 [Note] InnoDB: Completed initialization of buffer pool&lt;br /&gt;
180430 10:33:38 [ERROR] InnoDB: .\ibdata1 can&#039;t be opened in read-write mode&lt;br /&gt;
180430 10:33:38 [ERROR] InnoDB: The system tablespace must be writable!&lt;br /&gt;
180430 10:33:38 [ERROR] Plugin &#039;InnoDB&#039; init function returned error.&lt;br /&gt;
180430 10:33:38 [ERROR] Plugin &#039;InnoDB&#039; registration as a STORAGE ENGINE failed.&lt;br /&gt;
180430 10:33:38 [Note] Plugin &#039;FEEDBACK&#039; is disabled.&lt;br /&gt;
180430 10:33:38 [ERROR] Unknown/unsupported storage engine: innodb&lt;br /&gt;
180430 10:33:38 [ERROR] Aborting&lt;br /&gt;
&lt;br /&gt;
180430 10:33:38 [Note] mysqld.exe: Shutdown complete&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solutions:&lt;br /&gt;
&lt;br /&gt;
Open the command line with administrative privileges. (How to: [https://www.howtogeek.com/194041/how-to-open-the-command-prompt-as-administrator-in-windows-8.1/ How to Open the Command Prompt as Administrator in Windows 8 or 10])&lt;br /&gt;
&lt;br /&gt;
=== Navicat error: Import data mismatch ===&lt;br /&gt;
Error:&lt;br /&gt;
&lt;br /&gt;
When importing an Excel file into a MySQL database using Navicat, there is an issue with the total number of records not matching. Solution: Delete blank rows and check for any duplicate primary key data.&lt;br /&gt;
&lt;br /&gt;
Solution:&lt;br /&gt;
* [https://errerrors.blogspot.com/2023/11/blog-post.html 解決 NaviCat 匯入 Excel 檔案到資料庫，出現資料總筆數不一致的問題] (written in Mandarin)&lt;br /&gt;
&lt;br /&gt;
=== Navicat error:  [Exp] OLE error 800A03EC ===&lt;br /&gt;
error message:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Msg] [Exp] Export to - test.xlsx&lt;br /&gt;
[Err] [Row1048576] [Exp] OLE error 800A03EC&lt;br /&gt;
[Err] [Row1048577] [Exp] OLE error 800A03EC&lt;br /&gt;
[Err] [Row1048578] [Exp] OLE error 800A03EC&lt;br /&gt;
[Err] [Row1048579] [Exp] OLE error 800A03EC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
cause:&lt;br /&gt;
* Rows count of results exceed the limit of [[Microsoft Excel]] Worksheet size: 1,048,576 rows&lt;br /&gt;
&lt;br /&gt;
solution:&lt;br /&gt;
* LIMIT the rows of MySQL query&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
* If you cannot find the answer you&#039;re looking for, you can visit [https://stackoverflow.com/questions/tagged/mysql Unanswered &#039;mysql&#039; Questions - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template:Data factory flow}}&lt;br /&gt;
&lt;br /&gt;
[[Category: MySQL]]&lt;br /&gt;
[[Category: Database]]&lt;br /&gt;
[[Category: Data Science]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=%E6%8E%92%E9%99%A4_MySQL_%E6%8A%80%E8%A1%93%E7%96%91%E9%9B%A3%E5%95%8F%E9%A1%8C&amp;diff=26464</id>
		<title>排除 MySQL 技術疑難問題</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=%E6%8E%92%E9%99%A4_MySQL_%E6%8A%80%E8%A1%93%E7%96%91%E9%9B%A3%E5%95%8F%E9%A1%8C&amp;diff=26464"/>
		<updated>2026-09-17T02:46:59Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 錯誤 2013: 在查詢過程中與 MySQL 伺服器失去連接 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;排除 MySQL 技術疑難問題&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Troubleshooting of MySQL errors | English]], [[排除 MySQL 技術疑難問題|漢字]]}}&lt;br /&gt;
&lt;br /&gt;
本文探討了使用 MySQL 時遇到的各種常見問題，並根據其性質和影響將它們分為七個不同的類別。這些類別有助於識別潛在的問題並促進高效的故障排除。這些問題分類如下：&lt;br /&gt;
&lt;br /&gt;
# 安裝和配置問題：與 MySQL 設置和配置相關的問題。&lt;br /&gt;
# 資料庫和表操作錯誤：在創建、刪除或訪問資料庫和表時出現的問題。&lt;br /&gt;
# 訪問和認證錯誤：涉及用戶權限和認證的錯誤。&lt;br /&gt;
# SQL 和查詢錯誤：與 SQL 查詢的語法和執行相關的問題。&lt;br /&gt;
# 連接和網路錯誤：用戶端與 MySQL 伺服器之間的連接問題。&lt;br /&gt;
# 資源和環境錯誤：由系統資源如磁碟空間、記憶體限制或文件系統權限引起的錯誤。&lt;br /&gt;
# 其他工具特定錯誤：特定於資料庫工具（如 Navicat）的錯誤，或來自腳本環境（如 PHP）的問題。&lt;br /&gt;
&lt;br /&gt;
== 安裝和配置問題 ==&lt;br /&gt;
=== 找不到檔案 mysqldump ===&lt;br /&gt;
&lt;br /&gt;
# 尋找 mysqldump 檔案的位置&lt;br /&gt;
#* 在 {{Mac}} 或 {{Linux}} 上輸入命令 {{kbd | key=&amp;lt;nowiki&amp;gt;sudo find / -iname mysqldump&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#* 如果你安裝了&lt;br /&gt;
#** [https://www.apachefriends.org/index.html XAMPP] 在 {{Mac}} 上: 完整路徑是 {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/XAMPP/xamppfiles/bin/mysqldump&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#** [https://www.apachefriends.org/index.html XAMPP] 在 X 磁碟上的 {{Win}}: 完整路徑是 {{kbd | key=&amp;lt;nowiki&amp;gt;X:\xampp\mysql\bin\mysqldump.exe&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#** [https://www.mamp.info/en/ MAMP &amp;amp; &#039;&#039;$&#039;&#039; MAMP PRO] 在 {{Mac}} 上: 完整路徑是 {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/MAMP/Library/bin/mysqldump&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# 輸入 mysqldump 命令的完整路徑&lt;br /&gt;
#* 之前導致錯誤的命令 {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump -h 127.0.0.1 -u root -p  --force --single-transaction DATABASE_NAME | pv | gzip -c &amp;gt; DATABASE_NAME.sql.gz&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
#* 新命令 {{kbd | key=&amp;lt;nowiki&amp;gt;/Applications/XAMPP/xamppfiles/bin/mysqldump -h 127.0.0.1 -u root -p  --force --single-transaction DATABASE_NAME | pv | gzip -c &amp;gt; DATABASE_NAME.sql.gz&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
=== 無法在 Windows 上啟動 MySQL 服務 ===&lt;br /&gt;
&lt;br /&gt;
# [https://dev.mysql.com/doc/refman/5.7/en/data-directory.html MySQL 數據目錄] 需被 {{kbd | key=NETWORK SERVICE}} 在 Windows Server 2008 上有寫入權限&amp;lt;ref&amp;gt;[https://errerrors.blogspot.com/2016/12/mysql-windows-server-2008-r2.html 如何修改 MySQL 伺服器的資料目錄 (Windows Server 2008 R2)]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# 目錄 {{kbd | key=secure-file-priv}} 需被 {{kbd | key=NETWORK SERVICE}} 在 Windows Server 2008 上有寫入權限&lt;br /&gt;
&lt;br /&gt;
== 資料庫和表操作錯誤 ==&lt;br /&gt;
=== 無法開啟單表表空間檔案 filename.ibd ===&lt;br /&gt;
版本：XAMPP 5.6.15-1，運行於{{Mac}}&lt;br /&gt;
&lt;br /&gt;
狀況：Mac 意外關機，且資料庫沒有正常關閉。重啟 Mac 後，無法啟動 MySQL 服務&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/35184367/error-could-not-open-single-table-tablespace-file-scrapers-records-ibd mysql - Error: could not open single-table tablespace file .\scrapers\records.ibd - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://chepri.com/our-blog/mysql-innodb-corruption-and-recovery/ MySQL Won&#039;t Start - InnoDB Corruption and Recovery. - Chepri]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
可能的解決方案：&lt;br /&gt;
# 編輯位於：/Applications/XAMPP/xamppfiles/etc/my.cnf 的 MySQL 設定檔&lt;br /&gt;
# 增加此行：{{kbd | key=&amp;lt;nowiki&amp;gt;innodb_force_recovery = 1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# 嘗試啟動 MySQL 服務&lt;br /&gt;
# 如果 MySQL 服務成功啟動，編輯 MySQL 設定檔並註釋掉這行：{{kbd | key=&amp;lt;nowiki&amp;gt;#innodb_force_recovery = 1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# 重啟 MySQL 服務&lt;br /&gt;
&lt;br /&gt;
=== errno 41 - 刪除資料庫時出錯 ===&lt;br /&gt;
訊息：執行 &#039;&#039;&#039;DROP DATABASE `TABLE_NAME`&#039;&#039;&#039; 時出現 &#039;&#039;&#039;錯誤刪除資料庫（無法刪除目錄 &#039;.\TABLE_NAME&#039;，errno: 41）&#039;&#039;&#039;；&lt;br /&gt;
&lt;br /&gt;
解決方案：[https://stackoverflow.com/questions/17947255/error-in-dropping-a-database-in-mysql-cant-rmdir-oro-errno-41/19888293 phpmyadmin - 刪除 MySQL 中的資料庫時出錯（無法刪除目錄 &#039;.\oro&#039;，errno: 41）- Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1005 (HY000) at line xx: 無法創建表 &#039;TABLE_NAME&#039; (errno: 28) ===&lt;br /&gt;
&lt;br /&gt;
解決方案&lt;br /&gt;
* 檢查 mysql 數據文件夾所在的磁碟空間是否足夠。例如，在 {{Linux}} 上輸入 {{kbd | key=df -h}}&lt;br /&gt;
* 更多資訊請見 [http://stackoverflow.com/questions/11045279/error-1005-hy000-cant-create-table-errno-150 mysql - ERROR 1005 (HY000): 無法創建表 (errno: 150) - Stack Overflow]。&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1006 (HY000): 無法創建資料庫 &#039;DATABASE_NAME&#039; (errno: 28) ===&lt;br /&gt;
解決方案&lt;br /&gt;
* 檢查 mysql 數據文件夾所在的磁碟空間是否足夠。例如，在 {{Linux}} 上輸入 {{kbd | key=df -h}}&lt;br /&gt;
* 更多資訊請見 [http://stackoverflow.com/questions/18719748/error-1006-hy000-cant-create-database-errno-13-mysql-5-6-12 ERROR 1006 (HY000) 無法創建資料庫 (errno: 13) MySQL 5.6.12 - Stack Overflow]。&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1010: Error dropping database (can&#039;t rmdir) ===&lt;br /&gt;
Message: &amp;lt;pre&amp;gt;Error dropping database (can&#039;t rmdir &#039;.\&amp;lt;db_name&amp;gt;\&#039;, errno: 17)&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方式&lt;br /&gt;
* 手動刪除資料庫目錄中殘留的非 MySQL 檔案（例如 .sql 檔案），再重新執行 DROP DATABASE；或直接手動刪除整個資料夾。&lt;br /&gt;
&lt;br /&gt;
根本原因&lt;br /&gt;
* MySQL 的 DROP DATABASE 只會移除它所管理的檔案。資料目錄中若存在其他外來檔案（例如 .sql 備份檔），將導致 rmdir 無法移除資料夾，進而觸發 errno 17（ENOTEMPTY）。&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1017 - Can&#039;t find file: &#039;.\DATABASE\TABLE.frm&#039; (errno: 22 - Invalid argument) ===&lt;br /&gt;
訊息： [Err] 1017 - Can&#039;t find file: &#039;.\DATABASE\TABLE.frm&#039; (errno: 22 - Invalid argument)&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 DATABASE\TABLE.frm 文件是否存在。如果不存在，可能需要在執行 MySQL 查詢前先創建該表。&lt;br /&gt;
* 檢查 DATABASE\TABLE.frm 文件或所在文件夾的權限&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/12106727/mysql-copying-tables-files-gives-rise-to-error-1017-hy000-cant-find-file MySQL，複製表文件出現 “ERROR 1017 (HY000): Can&#039;t find file:” 即使它在那裡 - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.percona.com/forums/questions-discussions/mysql-and-percona-server/2762-error-1017-hy000-can-t-find-file 錯誤 1017 (HY000): 找不到文件 - Percona 社區]&amp;lt;/ref&amp;gt;。&#039;&#039;未經驗證&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== ERROR 1052 - Column &#039;column_name&#039; in field list is ambiguous ===&lt;br /&gt;
訊息：Error Code: 1052. Column &#039;column_name&#039; in field list is ambiguous 欄位列表中的 &#039;column_name&#039; 模糊不清&lt;br /&gt;
&lt;br /&gt;
原因：由於 &#039;column_name&#039; 出現在兩個或多個表中...&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/19351633/error-code-1052-column-admin-id-in-field-list-is-ambiguous mysql - 錯誤代碼：1052 欄位列表中的 &#039;admin_id&#039; 模糊不清 - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：只保留一個表名 &#039;column_name&#039; 或添加表名別名。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1054 - &#039;where 子句&#039; 中未知的欄位 ===&lt;br /&gt;
訊息：[Err] 1054 - &#039;where 子句&#039; 中未知的欄位 &#039;xxx&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
# 檢查 &#039;xxx&#039; 欄位名稱是否存在&lt;br /&gt;
# 如果 &#039;xxx&#039; 欄位名稱是由 [http://dev.mysql.com/doc/refman/5.7/en/example-user-variables.html 使用者定義的變數] 計算得出。將整個查詢放入另一個母查詢中。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- 遇到錯誤訊息的查詢：[Err] 1054 - &#039;where 子句&#039; 中未知的欄位 &#039;rank&#039;&lt;br /&gt;
SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank`   &lt;br /&gt;
FROM&lt;br /&gt;
(&lt;br /&gt;
        ...&lt;br /&gt;
) semi&lt;br /&gt;
WHERE semi.rank &amp;lt;= 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
將整個查詢放入另一個母查詢中。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT final.*&lt;br /&gt;
FROM&lt;br /&gt;
(&lt;br /&gt;
        SELECT semi.*, IF(semi.id = semi.prev, @rank := @rank +1, @rank := 1 ) AS `rank`   &lt;br /&gt;
        FROM&lt;br /&gt;
        (&lt;br /&gt;
                ...&lt;br /&gt;
        ) semi&lt;br /&gt;
) final&lt;br /&gt;
WHERE final.rank &amp;lt;= 10&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1114 (HY000): 表格 `TABLE_NAME` 已滿 ===&lt;br /&gt;
可能的解決方案&lt;br /&gt;
* 因為 [https://dev.mysql.com/doc/refman/5.7/en/data-directory.html MySQL 數據目錄] 所在的硬碟分區已滿或幾乎已滿，釋放一些硬碟空間&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/730579/error-1114-hy000-the-table-is-full mysql - 錯誤 1114 (HY000): 表格已滿 - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1170: 在鍵規格中使用 BLOB/TEXT 欄位且沒有鍵長 ===&lt;br /&gt;
情況&lt;br /&gt;
* 嘗試建立新表格時的 SQL 語法&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DROP TABLE IF EXISTS `my_table`;&lt;br /&gt;
/*!40101 SET @saved_cs_client     = @@character_set_client */;&lt;br /&gt;
/*!40101 SET character_set_client = utf8 */;&lt;br /&gt;
CREATE TABLE `my_table` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `title` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,&lt;br /&gt;
  `url` text COLLATE utf8mb4_unicode_ci NOT NULL,&lt;br /&gt;
  `status` tinyint(2) unsigned NOT NULL DEFAULT 1,&lt;br /&gt;
  PRIMARY KEY (`job_id`),&lt;br /&gt;
  UNIQUE KEY `url` (`url`) USING HASH&lt;br /&gt;
) ENGINE=InnoDB AUTO_INCREMENT=3573 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;&lt;br /&gt;
/*!40101 SET character_set_client = @saved_cs_client */;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：在鍵規格中使用 BLOB/TEXT 欄位並指定鍵長，例如 {{kbd | key=`url`(500)}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DROP TABLE IF EXISTS `my_table`;&lt;br /&gt;
/*!40101 SET @saved_cs_client     = @@character_set_client */;&lt;br /&gt;
/*!40101 SET character_set_client = utf8 */;&lt;br /&gt;
CREATE TABLE `my_table` (&lt;br /&gt;
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,&lt;br /&gt;
  `title` varchar(500) COLLATE utf8mb4_unicode_ci DEFAULT NULL,&lt;br /&gt;
  `url` text COLLATE utf8mb4_unicode_ci NOT NULL,&lt;br /&gt;
  `status` tinyint(2) unsigned NOT NULL DEFAULT 1,&lt;br /&gt;
  PRIMARY KEY (`id`),&lt;br /&gt;
  UNIQUE KEY `url` (`url`(500))&lt;br /&gt;
) ENGINE=InnoDB AUTO_INCREMENT=3573 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;&lt;br /&gt;
/*!40101 SET character_set_client = @saved_cs_client */;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1813: 表格 xxx 的表空間已存在 ===&lt;br /&gt;
訊息：錯誤 1813 表格 xxx 的表空間已存在。&lt;br /&gt;
&lt;br /&gt;
解決方案&lt;br /&gt;
* [https://stackoverflow.com/questions/15694168/error-tablespace-for-table-xxx-exists-please-discard-the-tablespace-before-imp mysql - 錯誤：表格 xxx 的表空間已存在。請在導入前丟棄表空間 - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1049 (42000): 未知的資料庫 ===&lt;br /&gt;
訊息：錯誤 1049 (42000): 未知的資料庫 &#039;MY_DATABASE_p&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 &#039;MY_DATABASE_p&#039; 資料庫是否存在&lt;br /&gt;
* 如果您在使用控制台時希望連接到 &#039;MY_DATABASE&#039; 資料庫，請檢查資料庫名稱後是否沒有 {{kbd | key=TAB}} 字元。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1070 (42000): 指定的鍵太長；最大鍵長為 767 位元組 ===&lt;br /&gt;
&#039;&#039;&#039;環境&#039;&#039;&#039;: MySQL 5.6&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;根本原因&#039;&#039;&#039;: &amp;quot;預設情況下，索引鍵前綴長度限制為 767 位元組。參見第 13.1.13 節，“CREATE INDEX 語句”。例如，在 TEXT 或 VARCHAR 列上，如果使用 utf8mb3 字元集，並且每個字元最多 3 位元組，您可能會在列前綴索引超過 255 個字元時達到此限制。當啟用 innodb_large_prefix 配置選項時，對於使用 DYNAMIC 或 COMPRESSED 行格式的 InnoDB 表，索引鍵前綴長度限制提高到 3072 位元組。&amp;quot; &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.6/en/innodb-limits.html MySQL :: MySQL 5.6 參考手冊 :: 14.22 InnoDB 限制]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;解決方案&#039;&#039;&#039;&amp;lt;ref&amp;gt;[https://www.opencli.com/mysql/mysql-%E5%95%8F%E9%A1%8C-1071-42000-specified-key-was-too-long MySQL 問題: 1071 (42000): 指定的鍵太長]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://terrytongcc.com/%E5%A6%82%E4%BD%95%E8%A7%A3%E6%B1%BAmysql%E5%87%BA%E7%8F%BEerror-1118-row-size-too-large-8126%E5%95%8F%E9%A1%8C/ 如何解決 MySQL 出現 Error 1118: row size too large (&amp;gt; 8126) 問題 | Terry Tong – 全棧 Web 開發人員]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
* 執行以下 SQL 查詢：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET GLOBAL innodb_file_format = Barracuda;&lt;br /&gt;
SET GLOBAL innodb_file_format_max = Barracuda;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 修改 MySQL 配置文件&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
innodb_file_per_table = 1&lt;br /&gt;
innodb-file-format = BARRACUDA&lt;br /&gt;
innodb-large-prefix = ON&lt;br /&gt;
innodb_file_format_max = BARRACUDA&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 重啟 MySQL 伺服器&lt;br /&gt;
&lt;br /&gt;
* 執行以下 SQL 查詢：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ALTER TABLE `table_name` ROW_FORMAT=COMPRESSED;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 訪問和認證錯誤 ==&lt;br /&gt;
=== [Warning] Using a password on the command line interface can be insecure ===&lt;br /&gt;
問題描述：&lt;br /&gt;
使用 bash 命令匯出或匯入 MySQL 資料庫時，可能會遇到以下警告：[警告] 在命令行介面上使用密碼可能不安全。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql: [Warning] Using a password on the command line interface can be insecure.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
mysqldump: [Warning] Using a password on the command line interface can be insecure.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
這通常發生在使用如下命令時：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -u USERNAME -p -h 127.0.0.1 --default-character-set=utf8 DATABASE &amp;gt; DATABASE.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：要解決此警告並提高安全性，請按照以下步驟操作：&lt;br /&gt;
# 使用 [https://dev.mysql.com/doc/refman/8.4/en/mysql-config-editor.html mysql_config_editor] 設定登入路徑 (login path)：{{kbd | key=&amp;lt;nowiki&amp;gt;mysql_config_editor set --login-path=local --host=localhost --user=root --password&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# 匯出或匯入 MySQL 資料庫時使用登入路徑 (1) 匯出時：{{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump --login-path=local --default-character-set=utf8 資料庫名稱 &amp;gt; 資料庫名稱.sql&amp;lt;/nowiki&amp;gt;}} (2) 匯入時：{{kbd | key=&amp;lt;nowiki&amp;gt;pv 資料庫名稱.sql.gz | gunzip | mysql --login-path=local --default_character_set utf8 --force 資料庫名稱&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
# 查看所有已設定的登入路徑 {{kbd | key=&amp;lt;nowiki&amp;gt;mysql_config_editor print --all&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
透過使用登入路徑，可以避免在命令行中暴露密碼，解決安全警告。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1044 (42000): 拒絕使用者 &#039;USER&#039;@&#039;localhost&#039; 存取資料庫 &#039;DATABASE_NAME&#039; ===&lt;br /&gt;
訊息：{{kbd | key=&amp;lt;nowiki&amp;gt;錯誤 1044 (42000): 拒絕使用者 &#039;USER&#039;@&#039;localhost&#039; 存取資料庫 &#039;DATABASE_NAME&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
pv file.sql.gz | gunzip | mysql -u USER -p --host=127.0.0.1 --default_character_set utf8 DATABASE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查指定使用者名稱和資料庫名稱的權限&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u USER -p --host=127.0.0.1&lt;br /&gt;
輸入密碼：&lt;br /&gt;
&lt;br /&gt;
mysql&amp;gt; use DATABASE_NAME&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
訊息：{{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump: 執行 LOCK TABLES 時出錯: 1044: 拒絕使用者 &#039;USER&#039;@&#039;localhost&#039; 存取資料庫 &#039;DATABASE_NAME&#039;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h 127.0.0.1 -u USER -p DATABASE_NAME TABLE_NAME &amp;gt; TABLE_NAME.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 如果無法給予使用者權限，添加 mysqldump 選項 {{kbd | key=&amp;lt;nowiki&amp;gt;--skip-lock-tables&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/7415698/skip-lock-tables-and-mysqldump mysql - 跳過鎖定表和 mysqldump - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h 127.0.0.1 -u USER -p --skip-lock-tables DATABASE_NAME TABLE_NAME &amp;gt; TABLE_NAME.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1827 (HY000): 密碼哈希不符合預期格式。檢查是否使用了正確的密碼算法與 PASSWORD() 函數。 ===&lt;br /&gt;
錯誤的 SQL 查詢如下：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;test&#039;@&#039;localhost&#039; IDENTIFIED BY PASSWORD &#039;my_password&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
(1) 檢查帳戶是否已創建&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT User,Host FROM mysql.user;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2a) 如果帳戶已創建，為該帳戶設定密碼。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET PASSWORD FOR &#039;test&#039;@&#039;localhost&#039; = PASSWORD(&#039;my_password&#039;);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2b) 如果帳戶未創建，重新創建帳戶。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
CREATE USER &#039;test&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;my_password&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
參考資料&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/create-user.html MySQL :: MySQL 5.7 參考手冊 :: 14.7.1.2 CREATE USER 語法]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/set-password.html MySQL :: MySQL 5.7 參考手冊 :: 14.7.1.7 SET PASSWORD 語法]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/drop-user.html MySQL :: MySQL 5.7 參考手冊 :: 14.7.1.3 DROP USER 語法]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1045 (28000): 拒絕使用者存取 ===&lt;br /&gt;
訊息：錯誤 1045 (28000): 拒絕使用者 &#039;user&#039;@&#039;localhost&#039; 存取（使用密碼：YES）&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查使用者名稱的打字錯誤。&lt;br /&gt;
* 檢查密碼的打字錯誤。&lt;br /&gt;
* 如果您正在使用控制台命令，如果密碼包含特殊字元，請轉義密碼，例如 {{kbd | key=&amp;lt;nowiki&amp;gt;mysql -u root -p&#039;PASSWORD&#039;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[http://superuser.com/questions/123928/escaping-a-password-using-mysqldump-console 使用 mysqldump 控制台轉義密碼 - Super User]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 您可能需要刪除現有的帳戶設定並重新配置。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤！: SQLSTATE[28000]: 無效的授權規格：1045 拒絕訪問 ===&lt;br /&gt;
訊息：錯誤！: {{kbd | key=&amp;lt;nowiki&amp;gt;SQLSTATE[28000]: 無效的授權規格：1045 拒絕使用者 &#039;user&#039;@&#039;localhost&#039; 存取（使用密碼：YES）&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 如果您執行了查詢 {{kbd | key=INTO OUTFILE}}，您需要授予文件權限，例如：{{kbd | key=GRANT FILE ON *.* TO &#039;user&#039;@&#039;localhost&#039;;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/privileges-provided.html#priv_file MySQL :: MySQL 5.7 參考手冊 :: 6.2.1 提供的權限]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/6091427/mysql-into-outfile-access-denied-but-my-user-has-all-access-and-the-fold MYSQL into outfile &amp;quot;拒絕訪問&amp;quot; - 但我的使用者有 &amp;quot;全部&amp;quot; 訪問權限.. 且文件夾是 CHMOD 777 - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
相關問題：&amp;quot;錯誤！: SQLSTATE[HY000]: 一般錯誤：1290 MySQL 伺服器正在使用 --secure-file-priv 選項運行，所以它不能執行這個聲明&amp;quot;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/32737478/how-should-i-tackle-secure-file-priv-in-mysql 資料庫 - 如何處理 MySQL 中的 --secure-file-priv？ - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SQL 查詢語法錯誤 ==&lt;br /&gt;
=== 捕獲異常：SQLSTATE[HY093]：無效的參數編號：參數未定義 ===&lt;br /&gt;
解決方案&lt;br /&gt;
&lt;br /&gt;
* 問號的數量與查詢值的數量不一致 &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/10966251/sqlstatehy093-invalid-parameter-number-parameter-was-not-defined php Invalid parameter number: parameter was not defined - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 查詢值的數組不應該是關聯數組。使用順序數組！&lt;br /&gt;
&lt;br /&gt;
=== 錯誤！：SQLSTATE[HY000]：一般錯誤 ===&lt;br /&gt;
訊息：錯誤！：SQLSTATE[HY000]：一般錯誤&lt;br /&gt;
&lt;br /&gt;
狀況：當我使用 [http://php.net/manual/en/book.pdo.php PHP: PDO]&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* &amp;quot;您不應該在 update 或 insert 查詢中使用 {{kbd | key=&amp;lt;nowiki&amp;gt;$result = $stmt-&amp;gt;fetchAll();&amp;lt;/nowiki&amp;gt;}}&amp;quot; &amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/12979510/pdo-error-sqlstatehy000-general-error-when-updating-database php - PDO error: &amp;quot; SQLSTATE[HY000]: General error &amp;quot; When updating database - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 您不應該在查詢 {{kbd | key=&amp;lt;nowiki&amp;gt;INTO OUTFILE ...&amp;lt;/nowiki&amp;gt;}} 中使用 {{kbd | key=&amp;lt;nowiki&amp;gt;$result = $stmt-&amp;gt;fetchAll();&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.tech-recipes.com/rx/1475/save-mysql-query-results-into-a-text-or-csv-file/ Save MySQL query results into a text or CSV file]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/13369164/cant-create-write-to-file-errcode-22 mysql - Can&#039;t create/write to file (Errcode: 22) - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤：ASCII &#039;\0&#039; 出現在語句中，但這是不允許的，除非啟用了 --binary-mode 選項並且 mysql 以非互動模式運行 ===&lt;br /&gt;
訊息：{{kbd | key=&amp;lt;nowiki&amp;gt;錯誤：ASCII &#039;\0&#039; 出現在語句中，但這是不允許的，除非啟用了 --binary-mode 選項並且 mysql 以非互動模式運行。如果期望 ASCII &#039;\0&#039;，請將 --binary-mode 設為 1。查詢：&#039;&#039;。&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
狀況：當我導入 sql 文件時遇到上述錯誤訊息。&lt;br /&gt;
&lt;br /&gt;
解決方案：解壓縮文件然後再次導入文件&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/17158367/enable-binary-mode-while-restoring-a-database-from-an-sql-dump mysql - Enable binary mode while restoring a Database from an SQL dump - Stack Overflow]&amp;lt;/ref&amp;gt;。sql 文件是壓縮文件。您可以使用 [https://en.wikipedia.org/wiki/File_(command) file (command)] 來識別文件的類型。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ file compressed.sql&lt;br /&gt;
compressed.sql：gzip 壓縮數據&lt;br /&gt;
&lt;br /&gt;
$ file plain_text.sql&lt;br /&gt;
plain_text.sql：UTF-8 Unicode 文本，帶有非常長的行&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1055: Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column ===&lt;br /&gt;
訊息&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
查詢發生錯誤 (1055): Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column &#039;test.posts.id&#039; which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
遇到錯誤的查詢&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- 建立範例資料表&lt;br /&gt;
CREATE TABLE posts (&lt;br /&gt;
    id INT,&lt;br /&gt;
    post_id VARCHAR(10),&lt;br /&gt;
    author VARCHAR(50),&lt;br /&gt;
    content TEXT,&lt;br /&gt;
    likes INT,&lt;br /&gt;
    post_time DATETIME&lt;br /&gt;
);&lt;br /&gt;
&lt;br /&gt;
-- 插入範例資料&lt;br /&gt;
INSERT INTO posts VALUES&lt;br /&gt;
(1, &#039;A123&#039;, &#039;Alice&#039;, &#039;第一篇文章&#039;, 10, &#039;2024-01-01&#039;),&lt;br /&gt;
(2, &#039;A123&#039;, &#039;Bob&#039;, &#039;推推&#039;, 5, &#039;2024-01-02&#039;),&lt;br /&gt;
(3, &#039;A123&#039;, &#039;Bob&#039;, &#039;讚讚&#039;, 3, &#039;2024-01-03&#039;);&lt;br /&gt;
&lt;br /&gt;
-- 這會報錯&lt;br /&gt;
SELECT &lt;br /&gt;
    id,          -- 問題: 沒有在 GROUP BY 中&lt;br /&gt;
    post_id,&lt;br /&gt;
    author,&lt;br /&gt;
    GROUP_CONCAT(content SEPARATOR &amp;quot;\n&amp;quot;) AS content,     -- 問題: 沒有在 GROUP BY 中&lt;br /&gt;
    likes        -- 問題: 沒有在 GROUP BY 中&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：修正後的查詢 (1) SELECT 中的每個欄位要麼放在 GROUP BY 中、或 (2) 使用彙總函數 (如 MAX, MIN, SUM, COUNT, GROUP_CONCAT)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-- 方法一：取消 `sql_mode=only_full_group_by`:&lt;br /&gt;
有兩種方法可以取消 `sql_mode=only_full_group_by`:&lt;br /&gt;
&lt;br /&gt;
1. 暫時性修改 (僅對當前會話有效)&lt;br /&gt;
```sql&lt;br /&gt;
SET sql_mode=(SELECT REPLACE(@@sql_mode,&#039;ONLY_FULL_GROUP_BY&#039;,&#039;&#039;));&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
2. 永久性修改 (修改 MySQL 設定檔)&lt;br /&gt;
- 找到 MySQL 設定檔 (通常是 `my.cnf` 或 `my.ini`)&lt;br /&gt;
- 在 `[mysqld]` 區段加入或修改:&lt;br /&gt;
```ini&lt;br /&gt;
[mysqld]&lt;br /&gt;
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION&lt;br /&gt;
```&lt;br /&gt;
&lt;br /&gt;
注意事項:&lt;br /&gt;
1. 修改設定檔後需要重啟 MySQL 服務才會生效&lt;br /&gt;
2. 不建議取消這個設定，因為:&lt;br /&gt;
   - 可能導致查詢結果不可預測&lt;br /&gt;
   - 違反 SQL 標準&lt;br /&gt;
   - 可能在未來版本中產生相容性問題&lt;br /&gt;
&lt;br /&gt;
建議的做法是修正 SQL 查詢而不是更改 SQL mode。&lt;br /&gt;
&lt;br /&gt;
-- 方法二: 把所有欄位加入 GROUP BY&lt;br /&gt;
SELECT &lt;br /&gt;
    id,&lt;br /&gt;
    post_id,&lt;br /&gt;
    author,&lt;br /&gt;
    content,&lt;br /&gt;
    likes&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author, id, content, likes;&lt;br /&gt;
&lt;br /&gt;
-- 方法三: 對非 GROUP BY 的欄位使用彙總函數&lt;br /&gt;
SELECT &lt;br /&gt;
    MAX(id) as id,&lt;br /&gt;
    post_id,&lt;br /&gt;
    author,&lt;br /&gt;
    GROUP_CONCAT(content) as contents,&lt;br /&gt;
    SUM(likes) as total_likes&lt;br /&gt;
FROM posts&lt;br /&gt;
GROUP BY post_id, author;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1235: 這個版本的 MySQL 尚未支持 &#039;LIMIT &amp;amp; IN/ALL/ANY/SOME 子查詢&#039; ===&lt;br /&gt;
訊息：錯誤 1235 (42000)：這個版本的 MySQL 尚未支持 &#039;LIMIT &amp;amp; IN/ALL/ANY/SOME 子查詢&#039;。&lt;br /&gt;
&lt;br /&gt;
解決方案：將子查詢的語法更改為 {{kbd | key =column_name BETWEEN start_number to end_number}}&lt;br /&gt;
&lt;br /&gt;
進一步閱讀：&lt;br /&gt;
* [https://dev.mysql.com/doc/mysql-reslimits-excerpt/5.6/en/subquery-restrictions.html MySQL :: MySQL 限制和局限 :: 4 子查詢的限制]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1267: 字元集混合不合法 (utf8mb4_general_ci,COERCIBLE) 與 (latin1_swedish_ci,IMPLICIT) 用於 &#039;concat&#039; 操作 ===&lt;br /&gt;
錯誤情況：嘗試合併不同類型的數據，例如 CONCAT(string, int)&lt;br /&gt;
&lt;br /&gt;
解決方案：{{kbd | key =&amp;lt;nowiki&amp;gt;SELECT CONCAT(`string_column`, CONVERT(`int_column`, CHAR))&amp;lt;/nowiki&amp;gt;}} 或 {{kbd | key =&amp;lt;nowiki&amp;gt;SELECT CONCAT(`string_column`, CAST(`int_column` AS CHAR))&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/15368753/cast-int-to-varchar mysql - 將 int 轉換為 varchar - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://blog.51cto.com/bian5399/1092772 mysql字元集問題：不合法的字元集混合 - 51CTO部落格]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1305 - 函數 MY_TABLE.MY_FUNCTION 不存在 ===&lt;br /&gt;
訊息：MySQL 錯誤 1305 - 函數 MY_TABLE.MY_FUNCTION 不存在&lt;br /&gt;
&lt;br /&gt;
解決方案：修正函數名稱中的打字錯誤&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1690 - BIGINT UNSIGNED 值超出範圍 ===&lt;br /&gt;
訊息：MySQL 錯誤 #1690 (BIGINT UNSIGNED 值超出範圍)&lt;br /&gt;
&lt;br /&gt;
解決方案 &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/out-of-range-and-overflow.html MySQL :: MySQL 8.0 參考手冊 :: 11.2.6 超出範圍和溢出處理]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/34115917/mysql-error-1690-bigint-unsigned-value-is-out-of-range-for-unix-timestamp MySQL 錯誤 #1690 (BIGINT UNSIGNED 值超出範圍) 用於 UNIX_TIMESTAMP() - Stack Overflow]&amp;lt;/ref&amp;gt;:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SET sql_mode = &#039;NO_UNSIGNED_SUBTRACTION&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1366: 字串值不正確 ===&lt;br /&gt;
訊息：SQLSTATE[HY000]: 一般錯誤：1366 字串值 &#039;\xF0\x9F\x87\xAF\xF0\x9F...&#039; 對於欄位 &#039;XXX&#039; 不正確&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 PHP PDO 的字元集。並執行 {{kbd | key=set names utf8mb4}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/54947392/incorrect-string-value-when-trying-to-pass-emoji-to-the-db-encoded-with-utf8mb4 php - 嘗試將使用 utf8mb4 編碼的表情符號傳遞給資料庫時字串值不正確 - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 檢查表的配置&lt;br /&gt;
** 字元集 (字元集、字元集): {{kbd | key=utf8mb4}}&lt;br /&gt;
** 排序規則 (定序、字元序): {{kbd | key=utf8mb4_unicode_ci}}&lt;br /&gt;
&lt;br /&gt;
=== 錯誤！: SQLSTATE[42000]: 語法錯誤或存取違規 ===&lt;br /&gt;
訊息：{{kbd | key=&amp;lt;nowiki&amp;gt;錯誤！: SQLSTATE[42000]: 語法錯誤或存取違規：1064 您在 SQL 語法中有錯誤；請檢查手冊，了解您的 MySQL 伺服器版本對應的正確語法以用於 ...&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* [[SQL syntax debug | SQL 語法除錯]]&lt;br /&gt;
* [https://www.eversql.com/sql-syntax-check-validator/ SQL 語法檢查在線上，SQL 驗證器，即時 SQL 編譯器在線上 - EverSQL] {{exclaim}} 不支持 [https://www.php.net/manual/en/pdo.prepare.php PHP: PDO::prepare]，其中查詢語法包含問號。&lt;br /&gt;
&lt;br /&gt;
== 連接和網路錯誤 ==&lt;br /&gt;
=== MySQL 伺服器已斷開 (has gone away) ===&lt;br /&gt;
步驟&lt;br /&gt;
* 在 MySQL 設定檔啟用 {{kbd | key = log_error}} 選項，例如 {{kbd | key = &amp;lt;nowiki&amp;gt;log_error=&amp;quot;file_name_of_error_log&amp;quot;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/error-log.html MySQL :: MySQL 8.0 Reference Manual :: 5.4.2 The Error Log]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 範例錯誤日誌位於 {{kbd | key = &amp;lt;nowiki&amp;gt;file_name_of_error_log&amp;lt;/nowiki&amp;gt;}} 如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
2019-05-23T08:52:19.989876Z 99980 [Note] 中斷連接 99980 到資料庫：&#039;DB_NAME&#039; 用戶：&#039;DB_USER&#039; 主機：&#039;localhost&#039; (收到的封包大於 &#039;max_allowed_packet&#039; 位元組)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* 如果 MySQL 用戶具有 {{kbd | key = &amp;lt;nowiki&amp;gt;SUPER&amp;lt;/nowiki&amp;gt;}} 權限&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html MySQL :: MySQL 8.0 Reference Manual :: 6.2.2 Privileges Provided by MySQL]&amp;lt;/ref&amp;gt;，則增加 {{kbd | key = &amp;lt;nowiki&amp;gt;max_allowed_packet&amp;lt;/nowiki&amp;gt;}} 的值&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/5688403/how-to-check-and-set-max-allowed-packet-mysql-variable php - how to check and set max_allowed_packet mysql variable - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤：SQLSTATE[HY000] [2002] 沒有這樣的文件或目錄 ===&lt;br /&gt;
錯誤訊息：SQLSTATE[HY000] [2002] 沒有這樣的文件或目錄&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 將資料庫主機從 {{kbd | key=localhost}} 修改為 {{kbd | key=127.0.0.1}}&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 2002: 無法連接: SQLSTATE[HY000] [2002] ===&lt;br /&gt;
Windows Cygwin 終端機狀況：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -u root -p&lt;br /&gt;
輸入密碼：&lt;br /&gt;
錯誤 2002 (HY000): 無法通過 &#039;/var/run/mysql.sock&#039; 連接到本地 MySQL 伺服器 (2)&lt;br /&gt;
&lt;br /&gt;
$ mysql -h localhost -u root -p&lt;br /&gt;
輸入密碼：&lt;br /&gt;
錯誤 2002 (HY000): 無法通過 &#039;/var/run/mysql.sock&#039; 連接到本地 MySQL 伺服器 (2)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 將 {{kbd | key=&amp;lt;nowiki&amp;gt;-h localhost&amp;lt;/nowiki&amp;gt;}} 更改為 {{kbd | key=&amp;lt;nowiki&amp;gt;-h 127.0.0.1&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysql -h 127.0.0.1 -u root -p&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 如果仍然不行，重啟伺服器並重新啟動 MySQL 服務。&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 2002: SQLSTATE[HY000] [2002] 通常只允許每個通訊端位址 (協議/網路位址/埠) 的一次使用 ===&lt;br /&gt;
&lt;br /&gt;
訊息：(1) [2002] 通常只允許每個通訊端位址 (協議/網路位址/埠) 的一次使用 (2) &amp;quot;SQLSTATE[HY000] [2002] 一次只能用一個通訊端位址 (通訊協定/網路位址/連接埠)。&amp;quot; 用中文表示&lt;br /&gt;
&lt;br /&gt;
解決方案：[https://stackoverflow.com/questions/10317974/mysql-php-error2002-only-one-usage-of-each-socket-address-protocol-network-a MySQL/PHP 錯誤:(2002) 通常只允許每個通訊端位址 (協議/網路位址/埠) 的一次使用 - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 2003 (HY000): 無法連接到 &#039;IP&#039; 上的 MySQL 伺服器 ===&lt;br /&gt;
&#039;&#039;&#039;錯誤 2003 (HY000): 無法連接到 &#039;IP&#039; 上的 MySQL 伺服器&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 IP 是否有效&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;錯誤 2003 (HY000): 無法連接到 &#039;IP&#039; 上的 MySQL 伺服器 (111 &amp;quot;連接被拒絕&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 MySQL 服務是否在運行&amp;lt;ref&amp;gt;[https://www.cyberciti.biz/faq/how-to-find-out-if-mysql-is-running-on-linux/ 如何找出 MySQL 是否在 Linux 上運行]&amp;lt;/ref&amp;gt;。如果沒有，啟動 MySQL 服務。&lt;br /&gt;
* 檢查防火牆規則&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;錯誤 2003 (HY000): 無法連接到 &#039;IP&#039; 上的 MySQL 伺服器 (116 &amp;quot;連接超時&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 檢查 MySQL 的配置&lt;br /&gt;
** 註釋掉 [https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_bind-address bind-address] = 127.0.0.1 或設置為 *&lt;br /&gt;
** 註釋掉 [https://dev.mysql.com/doc/refman/5.7/en/server-options.html#option_mysqld_skip-networking skip-networking]&lt;br /&gt;
* 檢查 MySQL 資料庫用戶的權限。&lt;br /&gt;
* 在 (1) 個人電腦 (2) MySQL 服務所在的伺服器 (3) ISP/VM 供應商處檢查防火牆規則。更多資訊請參考 [https://devops.profitbricks.com/tutorials/install-mysql-on-centos-7/#firewall-rules 在 CentOS 7 上安裝 MySQL | ProfitBricks DevOps Central]&lt;br /&gt;
** 檢查您的 IP 地址是否包含在允許的 IP 地址列表中的防火牆規則。&lt;br /&gt;
** 透過使用 [https://whatismyipaddress.com/ 我的 IP 地址是什麼?] 服務檢查您的 IP 地址是否有更改。&lt;br /&gt;
* (可選) 監控防火牆活動。更多資訊請參考 [https://www.howtogeek.com/220204/how-to-track-firewall-activity-with-the-windows-firewall-log/ 如何使用 Windows 防火牆日誌追蹤防火牆活動] 在 {{Win}}&lt;br /&gt;
&lt;br /&gt;
參考資料：&lt;br /&gt;
* [https://support.rackspace.com/how-to/mysql-connect-to-your-database-remotely/ 遠程連接到 MySQL 資料庫]&lt;br /&gt;
* [http://wiki.navicat.com/wiki/index.php/Error_2003 錯誤 2003 - Navicat Wiki]&lt;br /&gt;
* [http://faq.webyog.com/content/23/15/en/error-no-2003-can_t-connect.html SQLyog MySQL 管理員常見問答 - 錯誤號 2003: 無法連接...]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 2013: 在查詢過程中與 MySQL 伺服器失去連接 ===&lt;br /&gt;
訊息：錯誤代碼：2013。在查詢過程中與 MySQL 伺服器失去連接&lt;br /&gt;
&lt;br /&gt;
情況：在執行包含超過 1,000,000 行的下列查詢後，我遇到了 &#039;錯誤代碼：2013。在查詢過程中與 MySQL 伺服器失去連接&#039; 的錯誤訊息。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table`;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 在 [https://www.mysql.com/products/workbench/ MySQL Workbench] 上增加 (1) &#039;&#039;&#039;資料庫連接保持活躍間隔（秒）&#039;&#039;&#039; 和 (2) &#039;&#039;&#039;資料庫連接讀取超時（秒）&#039;&#039;&#039; 的設定 &amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/16877574/how-can-i-execute-sql-queries-that-take-longer-99-999-seconds-on-mysql-workbench 如何在 MySQL Workbench 上執行超過 99,999 秒的 SQL 查詢 - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/10563619/error-code-2013-lost-connection-to-mysql-server-during-query 錯誤代碼：2013。在查詢過程中與 MySQL 伺服器失去連接 - Stack Overflow]&amp;lt;/ref&amp;gt;。修改設定後請重新啟動 MySQL Workbench。例如，預設的 &#039;&#039;&#039;資料庫連接讀取超時（秒）&#039;&#039;&#039; 設定為 30 秒，你可以增加到 6000 秒（100 分鐘）。&lt;br /&gt;
* 減少行數以縮短執行時間 (1) 使用 {{kbd | key=LIMIT}} 子句 (2) 或分割查詢大小，例如 {{kbd | key=&amp;lt;nowiki&amp;gt;MOD(column, 2) = 0&amp;lt;/nowiki&amp;gt;}} 和 {{kbd | key=&amp;lt;nowiki&amp;gt;MOD(column, 2) &amp;gt; 0&amp;lt;/nowiki&amp;gt;}}，如果欄位是數字的話。&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
INSERT IGNORE INTO `target`.`table` SELECT * FROM `source`.`table` LIMIT 0, 10000;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 解決 Host &#039;xx.xx.xxx.xxx&#039; is blocked because of many connection errors ===&lt;br /&gt;
&lt;br /&gt;
錯誤訊息&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host &#039;xx.xx.xxx.xxx&#039; is blocked because of many connection errors; unblock with &#039;mysqladmin flush-hosts&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
了解問題狀況&lt;br /&gt;
&lt;br /&gt;
(1) 查詢門檻值&lt;br /&gt;
&lt;br /&gt;
MySQL 的機制是：同一個來源主機（依 IP 或 hostname 判斷），累積達到 `max_connect_errors` 設定的次數後，就會自動把這個來源封鎖，拒絕它繼續連線。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SHOW VARIABLES LIKE &#039;max_connect_errors&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
查到的門檻值是 100。&lt;br /&gt;
&lt;br /&gt;
(2) 查詢目前被記錄/封鎖的 host&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IP, HOST, SUM_CONNECT_ERRORS, COUNT_HOST_BLOCKED_ERRORS&lt;br /&gt;
FROM performance_schema.host_cache&lt;br /&gt;
ORDER BY SUM_CONNECT_ERRORS DESC;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
確認唯一被鎖的 IP 就是 `xx.xx.xxx.xxx`，`SUM_CONNECT_ERRORS` 剛好等於門檻值 100，且沒有其他 IP 受影響。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
解決問題&lt;br /&gt;
&lt;br /&gt;
⚠️ 提醒：`flush-hosts` / `FLUSH HOSTS` 會清空整個 host cache，不是只清單一 IP。如果查詢結果中還有其他 host 的記錄，執行後會一併重置。若為共用正式環境，執行前建議先跟其他管理者確認。&lt;br /&gt;
&lt;br /&gt;
(1) 到終端機或命令提示字元，輸入指令&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqladmin -u root -p flush-hosts&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
或&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysql -u root -p&lt;br /&gt;
進入 MySQL SHELL 後再輸入指令：FLUSH HOSTS;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
補充：`FLUSH HOSTS` 語法自 MySQL 8.0.23 起已標示為 deprecated，8.4 版本中移除&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.4/en/performance-schema-host-cache-table.html MySQL :: MySQL 8.4 Reference Manual :: 29.12.22.3 The host_cache Table]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://oneuptime.com/blog/post/2026-03-31-mysql-fix-max-connect-errors-blocked-hosts/view How to Fix max_connect_errors and Blocked Hosts in MySQL]&amp;lt;/ref&amp;gt;。若環境版本較新，可改用官方建議的替代語法：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUNCATE TABLE performance_schema.host_cache;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(2) 執行後驗證&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT IP, HOST, SUM_CONNECT_ERRORS, COUNT_HOST_BLOCKED_ERRORS&lt;br /&gt;
FROM performance_schema.host_cache&lt;br /&gt;
ORDER BY SUM_CONNECT_ERRORS DESC;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
結果：沒有資料行（0 rows），代表 host_cache 已清空，先前的連線錯誤紀錄與封鎖狀態都已重設，該 IP 應可正常連線。&lt;br /&gt;
&lt;br /&gt;
=== 從 MySQL 資料轉移至 MSSQL ===&lt;br /&gt;
情況: 需要將 MySQL 資料庫中的資料同步或遷移至 Microsoft SQL Server。&lt;br /&gt;
&lt;br /&gt;
解決方案:&lt;br /&gt;
* (手動方式) 匯出 MySQL 資料為 MSSQL 相容格式: {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump --compatible=mssql [database_name]&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.4/en/mysqldump.html#option_mysqldump_compatible MySQL :: MySQL 8.4 Reference Manual :: 6.5.4 mysqldump — A Database Backup Program]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* (自動方式) 使用 [https://learn.microsoft.com/en-us/sql/ssma/sql-server-migration-assistant?view=sql-server-ver17 Microsoft SQL Server Migration Assistant]、&#039;&#039;$&#039;&#039; [https://www.webyog.com/product/sqlyog SQLyog] 工具 (適用於 {{Win}})。設定特定查詢來控制要從 MySQL 轉移至 Microsoft SQL Server 的資料。&lt;br /&gt;
&lt;br /&gt;
常見挑戰:&lt;br /&gt;
* 大型資料集的連線逾時問題: 參考 2013 錯誤的故障排除方法，例如延長逾時參數或實施批次處理。&lt;br /&gt;
* 資料類型不相容: 在遷移前驗證兩系統間的類型對應，以防止資料損壞或遺失。&lt;br /&gt;
&lt;br /&gt;
== 資源和環境錯誤 ==&lt;br /&gt;
=== 無法存取 MySQL 日誌 ===&lt;br /&gt;
版本：XAMPP 5.6.15-1，運行於{{Mac}}&lt;br /&gt;
&lt;br /&gt;
原因：&lt;br /&gt;
* 錯誤日誌只能由名為 {{kbd | key=mysql}} 的用戶訪問&amp;lt;ref&amp;gt;打開位於以下位置的 MySQL 設定檔案：/Applications/XAMPP/xamppfiles/etc/my.cnf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# MySQL 伺服器&lt;br /&gt;
[mysqld]&lt;br /&gt;
user = mysql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案 &amp;lt;ref&amp;gt;[http://computerplumber.com/2009/01/using-the-chmod-command-effectively/ 有效使用 CHMOD 命令 @ Computer Plumber]&amp;lt;/ref&amp;gt;：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
找到 MySQL 日誌的路徑&lt;br /&gt;
$ ls /Applications/XAMPP/xamppfiles/var/mysql/*.local.err&lt;br /&gt;
&lt;br /&gt;
找出 MySQL 日誌的檔案名稱，例如：XXXMacBook-Pro.local.err&lt;br /&gt;
&lt;br /&gt;
設置日誌的權限&lt;br /&gt;
$ sudo chmod 774 /Applications/XAMPP/xamppfiles/var/mysql/XXXMacBook-Pro.local.err&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 錯誤代碼: 11 資源暫時無法取得 ===&lt;br /&gt;
錯誤訊息：&#039;&#039;&#039;Can&#039;t create a new thread (errno 11 &amp;quot;Resource temporarily unavailable&amp;quot;)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
解決方案：[https://errerrors.blogspot.com/2026/06/xampp-mariadb-errno-11-open-files-limit.html 解決 XAMPP MariaDB 遇到 errno 11「Resource temporarily unavailable」錯誤]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤代碼: 13 拒絕存取 ===&lt;br /&gt;
當我嘗試啟動服務，執行 {{kbd | key=&amp;lt;nowiki&amp;gt;mysqld.exe --datadir=..\data --console&amp;lt;/nowiki&amp;gt;}} 後出現此訊息。（MySQL版本：5.5.5-10.0.12-MariaDB 在 {{Win}}）&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;gt; mysqld.exe --datadir=..\data --console&lt;br /&gt;
180430 10:33:38 [錯誤] mysqld.exe: 找不到檔案 &#039;C:\MariaDB_10.0\bin\..\data\aria_log_control&#039; (錯誤代碼: 13 &amp;quot;拒絕存取&amp;quot;)&lt;br /&gt;
180430 10:33:38 [錯誤] mysqld.exe: 嘗試使用 aria 控制檔案 &#039;C:\MariaDB_10.0\bin\..\data\aria_log_control&#039; 時出錯 &#039;無法打開檔案&#039;&lt;br /&gt;
180430 10:33:38 [錯誤] 插件 &#039;Aria&#039; 初始化函數返回錯誤。&lt;br /&gt;
180430 10:33:38 [錯誤] 插件 &#039;Aria&#039; 註冊為儲存引擎失敗。&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 使用互斥鎖來計數緩衝池頁面&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: InnoDB 記憶體堆疊已停用&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 互斥鎖和 rw_locks 使用 Windows 交錯函數&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 壓縮表使用 zlib 1.2.3&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 未使用 CPU crc32 指令&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 初始化緩衝池，大小 = 4.0G&lt;br /&gt;
180430 10:33:38 [注意] InnoDB: 完成緩衝池初始化&lt;br /&gt;
180430 10:33:38 [錯誤] InnoDB: 無法以讀寫模式打開 .\ibdata1&lt;br /&gt;
180430 10:33:38 [錯誤] InnoDB: 系統表空間必須可寫！&lt;br /&gt;
180430 10:33:38 [錯誤] 插件 &#039;InnoDB&#039; 初始化函數返回錯誤。&lt;br /&gt;
180430 10:33:38 [錯誤] 插件 &#039;InnoDB&#039; 註冊為儲存引擎失敗。&lt;br /&gt;
180430 10:33:38 [注意] 插件 &#039;FEEDBACK&#039; 已停用。&lt;br /&gt;
180430 10:33:38 [錯誤] 未知/不支持的儲存引擎: innodb&lt;br /&gt;
180430 10:33:38 [錯誤] 終止&lt;br /&gt;
&lt;br /&gt;
180430 10:33:38 [注意] mysqld.exe: 關機完成&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
&lt;br /&gt;
以管理員特權開啟命令行。（如何操作: [https://www.howtogeek.com/194041/how-to-open-the-command-prompt-as-administrator-in-windows-8.1/ 如何在 Windows 8 或 10 中以管理員身份開啟命令提示符]）&lt;br /&gt;
&lt;br /&gt;
=== 錯誤！：SQLSTATE[HY000]：一般錯誤：3 寫入檔案 &#039;xxx\Temp\xxx.tmp&#039; 時出錯（錯誤代碼：28 - 設備上沒有剩餘空間） ===&lt;br /&gt;
&lt;br /&gt;
錯誤訊息範例：錯誤！：SQLSTATE[HY000]：一般錯誤：3 寫入檔案 &#039;C:\Windows\SERVIC~2\NETWOR~1\AppData\Local\Temp\MY2713.tmp&#039; 時出錯（錯誤代碼：28 - 設備上沒有剩餘空間）&lt;br /&gt;
&lt;br /&gt;
條件：檢查 mysql {{kbd | key=tmpdir}} 文件夾的磁碟可用空間&lt;br /&gt;
&lt;br /&gt;
解決方案：增加 mysql {{kbd | key=tmpdir}} 文件夾的可用空間。或者使用另一個硬碟更改 mysql {{kbd | key=tmpdir}} 文件夾，該驅動器應具有更多的可用空間&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/11990887/changing-the-tmp-folder-of-mysql 更改 mysql 的 tmp 文件夾 - Stack Overflow]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
* 檢查當前的 mysql {{kbd | key=tmpdir}} 文件夾。查詢語法 {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;tmpdir&#039;;&amp;lt;/nowiki&amp;gt;}}。&lt;br /&gt;
** 在 {{Win}} 上，預設的臨時文件夾&amp;lt;ref&amp;gt;[https://answers.microsoft.com/en-us/windows/forum/windows_7-windows_programs/where-is-the-temporary-folder 臨時文件夾在哪裡？- Microsoft Community]&amp;lt;/ref&amp;gt; 是 {{kbd | key=&amp;lt;nowiki&amp;gt;%TMP%&amp;lt;/nowiki&amp;gt;}} = {{kbd | key=&amp;lt;nowiki&amp;gt;%USERPROFILE%\AppData\Local\Temp&amp;lt;/nowiki&amp;gt;}}。&lt;br /&gt;
** 在 {{Linux}} 上，預設的臨時文件夾可能是 {{kbd | key=&amp;lt;nowiki&amp;gt;/tmp&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* 編輯 [https://dev.mysql.com/doc/refman/5.7/en/option-files.html mysql 配置文件]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[mysqld]&lt;br /&gt;
tmpdir=X:/temp&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 重啟 MySQL 服務&lt;br /&gt;
&lt;br /&gt;
驗證&lt;br /&gt;
* 查詢語法 {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;tmpdir&#039;;&amp;lt;/nowiki&amp;gt;}} 來驗證 mysql 配置文件的修改。&lt;br /&gt;
&lt;br /&gt;
=== mysqldump: 寫入時遇到 errno 32 錯誤 ===&lt;br /&gt;
錯誤情況&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$ mysqldump -h localhost -u root -p --force --single-transaction --default-character-set=utf8 --quick mytable  | pv | gzip -c &amp;gt; mytable.sql.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
遇到錯誤訊息：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-bash: pv: 命令找不到&lt;br /&gt;
...&lt;br /&gt;
mysqldump: 寫入時遇到 errno 32 錯誤&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
根本原因&lt;br /&gt;
* 未安裝 pv&lt;br /&gt;
* 輸入指令檢查 pv 是否安裝 {{kbd | key=which pv}}&lt;br /&gt;
* 輸入指令安裝 pv：{{kbd | key=sudo yum -y install pv}} &amp;lt;ref&amp;gt;[https://installati.one/centos/7/pv/ 如何在 CentOS 7 上安裝 pv | Installati.one]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
參考資料&lt;br /&gt;
* [https://mysqldump.guru/mysqldump-got-errno-32-on-write.html mysqldump: 寫入時遇到 errno 32 錯誤 | mysqldump.guru]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1205: 鎖定等待超時，嘗試重新啟動事務 ===&lt;br /&gt;
解決方案：&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/5836623/getting-lock-wait-timeout-exceeded-try-restarting-transaction-even-though-im mysql - 獲得 &amp;quot;鎖定等待超時，嘗試重新啟動事務&amp;quot; 即使我沒有使用事務 - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW OPEN TABLES WHERE in_use &amp;gt; 0;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/show-open-tables.html MySQL :: MySQL 5.7 參考手冊 :: 13.7.5.24 SHOW OPEN TABLES 語法]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;SHOW [FULL] PROCESSLIST;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/show-processlist.html MySQL :: MySQL 5.7 參考手冊 :: 13.7.5.29 SHOW PROCESSLIST 語法]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=&amp;lt;nowiki&amp;gt;KILL &amp;lt;process id&amp;gt;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.7/en/kill.html MySQL :: MySQL 5.7 參考手冊 :: 13.7.6.4 KILL 語法]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
相關文章&lt;br /&gt;
* [https://errerrors.blogspot.com/2022/10/how-to-fix-lock-wait-timeout-exceeded-try-restarting-transaction-on-mysql.html 解決 MySQL 錯誤 1205: 鎖定等待超時，嘗試重新啟動事務]&lt;br /&gt;
&lt;br /&gt;
=== 錯誤 1206: 鎖的總數量超過鎖表的大小 ===&lt;br /&gt;
訊息：錯誤代碼：1206。鎖的總數量超過鎖表的大小&lt;br /&gt;
&lt;br /&gt;
當前狀態&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/show-variables.html MySQL :: MySQL 8.0 參考手冊 :: 13.7.6.39 SHOW VARIABLES 語法]&amp;lt;/ref&amp;gt;：&lt;br /&gt;
* Keywin {{kbd | key = &amp;lt;nowiki&amp;gt;SHOW VARIABLES LIKE &#039;innodb_buffer_pool_size&#039;;&amp;lt;/nowiki&amp;gt;}}。如果返回 {{kbd | key=8388608}}，意味著 {{kbd | key=8388608}} 位元組 ≅ 8MB。&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 增加 {{kbd | key = innodb_buffer_pool_size}} 例如 {{kbd | key =&amp;lt;nowiki&amp;gt;SET GLOBAL innodb_buffer_pool_size=402653184;&amp;lt;/nowiki&amp;gt;}}（402653184 位元組 ~ 400MB。預設值是 8MB。）&lt;br /&gt;
* 減少查詢數據的大小&lt;br /&gt;
&lt;br /&gt;
進一步閱讀：&lt;br /&gt;
* [http://stackoverflow.com/questions/5696857/how-to-change-value-for-innodb-buffer-pool-size-in-mysql-on-mac-os innodb - 如何在 Mac OS 上改變 MySQL 的 innodb_buffer_pool_size 的值？ - Stack Overflow]。&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.7/en/innodb-buffer-pool-resize.html MySQL :: MySQL 5.7 參考手冊 :: 14.6.3.2 配置 InnoDB 緩衝池大小]&lt;br /&gt;
&lt;br /&gt;
=== PHP 嚴重錯誤：在使用 adminer 導入 SQL.GZ 文件時，允許的記憶體大小耗盡 ===&lt;br /&gt;
&lt;br /&gt;
解決方案：使用基本的 mysqldump 命令來生成備份文件。然後使用 mysql 命令導入備份。&lt;br /&gt;
&lt;br /&gt;
=== 資料庫所在硬碟空間不足的狀況 ===&lt;br /&gt;
&lt;br /&gt;
[http://errerrors.blogspot.com/2016/07/mysql.html Err: 解決 MySQL 資料庫所在硬碟空間不足的狀況]&lt;br /&gt;
&lt;br /&gt;
== 其他工具特定錯誤 ==&lt;br /&gt;
=== Navicat 錯誤：[Exp] OLE 錯誤 800A03EC ===&lt;br /&gt;
錯誤訊息：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Msg] [Exp] 導出到 - test.xlsx&lt;br /&gt;
[Err] [Row1048576] [Exp] OLE 錯誤 800A03EC&lt;br /&gt;
[Err] [Row1048577] [Exp] OLE 錯誤 800A03EC&lt;br /&gt;
[Err] [Row1048578] [Exp] OLE 錯誤 800A03EC&lt;br /&gt;
[Err] [Row1048579] [Exp] OLE 錯誤 800A03EC&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
原因：&lt;br /&gt;
* 結果的行數超過了 [[Microsoft Excel]] 工作表大小的限制：1,048,576 行&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 限制 MySQL 查詢的行數&lt;br /&gt;
&lt;br /&gt;
=== Navicat error: Field doesn&#039;t have a default value ===&lt;br /&gt;
錯誤：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[ERR] 1364 - Field &#039;source&#039; doesn&#039;t have a default value&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* 從 Excel 匯入到資料庫時，source 欄位是空值或者沒有指定，需要指定 source 欄位值。或者修改欄位定義，允許欄位值可以 NULL。&lt;br /&gt;
&lt;br /&gt;
=== Navicat 錯誤: 導入數據筆數不一致 ===&lt;br /&gt;
錯誤：&lt;br /&gt;
&lt;br /&gt;
使用 Navicat 將 Excel 文件導入 MySQL 資料庫時，出現總記錄筆數不一致的問題。解決方案：刪除空白行並檢查任何重複的主鍵數據。&lt;br /&gt;
&lt;br /&gt;
解決方案：&lt;br /&gt;
* [https://errerrors.blogspot.com/2023/11/blog-post.html 解決 NaviCat 匯入 Excel 檔案到資料庫，出現資料總筆數不一致的問題] (written in Mandarin)&lt;br /&gt;
&lt;br /&gt;
=== 如何解決 “zsh: operation not permitted: xxx.sql” ===&lt;br /&gt;
錯誤情況&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/applications/MAMP/library/bin/mysql -u [USERNAME] -p [DATABASE_NAME] &amp;lt; [PATH_TO_SQL_FILE]&lt;br /&gt;
&lt;br /&gt;
zsh: operation not permitted: PATH_TO_SQL_FILE.sql&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
解決方案：檢查安全與隱私設定：macOS 可能因安全設定而阻止終端機執行某些操作。你可以嘗試允許終端機完整磁碟存取：&lt;br /&gt;
&lt;br /&gt;
* 開啟系統偏好設定。&lt;br /&gt;
* 轉到安全與隱私。&lt;br /&gt;
* 選擇隱私權標籤。&lt;br /&gt;
* 捲動至完整磁碟存取。&lt;br /&gt;
* 點擊鎖定圖示以進行更改（可能需要你的管理員密碼）。&lt;br /&gt;
* 尋找終端機應用程式或 iTerm2 或你正在使用的任何終端機，勾選允許完整磁碟存取的方框。&lt;br /&gt;
* 重啟你的終端機。&lt;br /&gt;
&lt;br /&gt;
== 延伸閱讀 ==&lt;br /&gt;
* 如果找不到想要的問題答案，可以前往stackoverflow 尋找 [https://stackoverflow.com/questions/tagged/mysql Unanswered &#039;mysql&#039; Questions - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Template: Data factory flow in Mandarin}}&lt;br /&gt;
&lt;br /&gt;
[[Category: MySQL]]&lt;br /&gt;
[[Category: Database]]&lt;br /&gt;
[[Category: Data Science]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Extract_domain_from_text&amp;diff=26463</id>
		<title>Extract domain from text</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Extract_domain_from_text&amp;diff=26463"/>
		<updated>2026-09-15T11:16:52Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Using Google Sheets to extract domains */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Extract the domain part from URLs in article content&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Extract domain from text | English]], [[Extract domain from text in Mandarin | 漢字]] }}&lt;br /&gt;
&lt;br /&gt;
== Using Google Sheets to extract domains ==&lt;br /&gt;
Use Google Spreadsheet [https://support.google.com/docs/answer/3098244?hl=en REGEXEXTRACT] function&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=REGEXEXTRACT(A2, &amp;quot;(http[s]?\://[^/]+)&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Input text:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Yahoo! News https://tw.news.yahoo.com/abc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
https://tw.news.yahoo.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* Domain refers to text that starts with &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;https://&amp;lt;/nowiki&amp;gt;, followed by multiple characters that are not the symbol {{kbd | key = &amp;lt;nowiki&amp;gt;/&amp;lt;/nowiki&amp;gt;}}: {{kbd | key = &amp;lt;nowiki&amp;gt;[^/]+&amp;lt;/nowiki&amp;gt;}}.&lt;br /&gt;
&lt;br /&gt;
If the preference is to not include the schema (&amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt; or &amp;lt;nowiki&amp;gt;https://&amp;lt;/nowiki&amp;gt;) in the output, wrap the domain portion in a capture group instead:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=REGEXEXTRACT(A2, &amp;quot;http[s]?\://([^/]+)&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Input text:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Example domain https://www.example.com/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
example.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
* REGEXEXTRACT returns the first capture group when one is present, rather than the whole match. Here the schema (&amp;lt;nowiki&amp;gt;http[s]?\://&amp;lt;/nowiki&amp;gt;) is matched but left outside the parentheses, while only the domain part {{kbd | key = &amp;lt;nowiki&amp;gt;[^/]+&amp;lt;/nowiki&amp;gt;}} is enclosed in {{kbd | key = &amp;lt;nowiki&amp;gt;(...)&amp;lt;/nowiki&amp;gt;}}, so only the domain is returned.&lt;br /&gt;
&lt;br /&gt;
== Data Validation: Does the article content contain a domain ==&lt;br /&gt;
The original data includes domains, but the domains don&#039;t include http prefix, e.g., tw.news.yahoo.com or www.bbc.co.uk. Using Google Spreadsheet [https://support.google.com/docs/answer/3098292?hl=en REGEXMATCH] function, if it matches the regular expression rules, it returns TRUE. If not, it returns FALSE. {{exclaim}} The following syntax doesn&#039;t handle [https://en.wikipedia.org/wiki/IPv4 IPv4] format domains. (If the domain includes http prefix, you can directly search for: regular expression extract host)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
=IF(ISERROR(REGEXMATCH(A1, &amp;quot;([a-zA-Z0-9\-&#039;&#039;\\.&#039;&#039;~\:\/\?#\[\]@\!\$&amp;amp;&#039;\(\)\&#039;&#039;\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})&amp;quot;)), FALSE, REGEXMATCH(A1, &amp;quot;([a-zA-Z0-9\-&#039;&#039;\\.&#039;&#039;~\:\/\?#\[\]@\!\$&amp;amp;&#039;\(\)\&#039;&#039;\+,;\=%]+\.[a-zA-Z]{2,}$|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})&amp;quot;))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Input 1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
www.bbc.co.uk&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output 1:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Input 2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 0.0.0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output 2:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Input 3:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Yahoo! News&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Output 3:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
FALSE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Other methods not recommended:&lt;br /&gt;
* Checking if the domain ends with .com, .tw, .net, .org is inefficient because there are too many to enumerate.&lt;br /&gt;
&lt;br /&gt;
[[Category: Regular expression]] [[Category: Data Science]] [[Category: String manipulation]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26462</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26462"/>
		<updated>2026-09-15T09:42:44Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF to Markdown Conversion&lt;br /&gt;
&lt;br /&gt;
{{Tips}} Many people recommend MarkItDown, a tool developed by Microsoft, which works well on text-based PDFs but requires enabling its OCR plugin for image-based PDFs and even then, conversions can still fail;&lt;br /&gt;
&lt;br /&gt;
for Chinese-language PDFs in particular, the OCR models with better accuracy tend to come from Chinese vendors, which adds the extra burden of converting between Simplified and Traditional Chinese and proofreading the results, making this data-cleaning process quite labor-intensive, so by comparison, converting documents directly with a multimodal large language model turns out to be more efficient.&lt;br /&gt;
&lt;br /&gt;
== 1. Text-Based PDFs ==&lt;br /&gt;
&lt;br /&gt;
If the PDF content is primarily text-based, you can use:&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/microsoft/markitdown MarkItDown] (consumes no AI tokens) &lt;br /&gt;
* If you don&#039;t need Markdown formatting and just want to extract plain text, you can also use &amp;lt;code&amp;gt;pdftotext&amp;lt;/code&amp;gt; https://www.xpdfreader.com/pdftotext-man.html&lt;br /&gt;
&lt;br /&gt;
== 2. Image-Based PDFs ==&lt;br /&gt;
&lt;br /&gt;
If the PDF content is primarily image-based (scanned documents, screenshots, charts, etc.), it&#039;s recommended to:&lt;br /&gt;
&lt;br /&gt;
* Use a model with vision/graphical recognition or multimodal capabilities directly, such as GPT-4.5 (consumes AI tokens)&lt;br /&gt;
* Or use the [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin] (consumes AI tokens), though it tends to make mistakes with more complex charts/diagrams&lt;br /&gt;
&lt;br /&gt;
=== Introduction ===&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
=== Model Requirements ===&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
=== Prompt ===&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Similar tools ==&lt;br /&gt;
* [https://github.com/microsoft/markitdown microsoft/markitdown: Python tool for converting files and office documents to Markdown.] &amp;amp; its [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;br /&gt;
[[Category: PDF Processing]]&lt;br /&gt;
[[Category: Document Conversion]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26461</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26461"/>
		<updated>2026-09-15T09:17:35Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF to Markdown Conversion&lt;br /&gt;
&lt;br /&gt;
{{Tips}} Many people recommend MarkItDown, a tool developed by Microsoft, which works well on text-based PDFs but requires enabling its OCR plugin for image-based PDFs and even then, conversions can still fail;&lt;br /&gt;
&lt;br /&gt;
for Chinese-language PDFs in particular, the OCR models with better accuracy tend to come from Chinese vendors, which adds the extra burden of converting between Simplified and Traditional Chinese and proofreading the results, making this data-cleaning process quite labor-intensive, so by comparison, converting documents directly with a multimodal large language model turns out to be more efficient.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
== Model Requirements ==&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Similar tools ==&lt;br /&gt;
* [https://github.com/microsoft/markitdown microsoft/markitdown: Python tool for converting files and office documents to Markdown.] &amp;amp; its [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;br /&gt;
[[Category: PDF Processing]]&lt;br /&gt;
[[Category: Document Conversion]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26460</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26460"/>
		<updated>2026-09-15T09:11:10Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF to Markdown Conversion&lt;br /&gt;
&lt;br /&gt;
{{Tips}} Many people recommend MarkItDown, a tool developed by Microsoft, which works well on text-based PDFs but requires enabling its OCR plugin (using GPT-4o by default) for image-based PDFs—and even then, conversions can still fail; for Chinese-language PDFs in particular, the OCR models with better accuracy tend to come from Chinese vendors, which adds the extra burden of converting between Simplified and Traditional Chinese and proofreading the results, making this data-cleaning process quite labor-intensive, so by comparison, converting documents directly with a multimodal large language model turns out to be more efficient.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
== Model Requirements ==&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Similar tools ==&lt;br /&gt;
* [https://github.com/microsoft/markitdown microsoft/markitdown: Python tool for converting files and office documents to Markdown.] &amp;amp; its [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26459</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26459"/>
		<updated>2026-09-15T09:04:45Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF to Markdown Conversion&lt;br /&gt;
&lt;br /&gt;
{{Tips}} Many people online recommend using MarkItDown, a tool developed by Microsoft.&lt;br /&gt;
&lt;br /&gt;
When the source PDF is a text-based presentation, the conversion results are quite satisfactory. However, if the PDF content is image-based, MarkItDown&#039;s OCR plugin (which uses the GPT-4o model by default) must be separately enabled to perform recognition.&lt;br /&gt;
&lt;br /&gt;
Even so, conversion failures still occur from time to time. For those primarily converting Chinese-language PDFs to Markdown, the OCR models with better Chinese recognition accuracy tend to come from Chinese vendors, which then requires additional work to convert between Simplified and Traditional Chinese terminology and proofread the text. This data-cleaning process alone can be quite labor-intensive.&lt;br /&gt;
&lt;br /&gt;
By comparison, converting documents directly with a large language model that has image recognition or multimodal capabilities turns out to be more efficient.&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
== Model Requirements ==&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Similar tools ==&lt;br /&gt;
* [https://github.com/microsoft/markitdown microsoft/markitdown: Python tool for converting files and office documents to Markdown.] &amp;amp; its [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26458</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26458"/>
		<updated>2026-09-15T08:42:50Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF to Markdown Conversion&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
== Model Requirements ==&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Similar tools ==&lt;br /&gt;
* [https://github.com/microsoft/markitdown microsoft/markitdown: Python tool for converting files and office documents to Markdown.] &amp;amp; its [https://github.com/microsoft/markitdown/blob/main/packages/markitdown-ocr/README.md MarkItDown OCR Plugin]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_conversion&amp;diff=26457</id>
		<title>PDF conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_conversion&amp;diff=26457"/>
		<updated>2026-09-15T08:41:05Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* PDF 轉換成純文字 (TXT) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PDF 轉換&lt;br /&gt;
&lt;br /&gt;
{{Template:File conversion}}&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成純文字 (TXT) ====&lt;br /&gt;
* {{Gd}} [http://pdftextonline.com/ PDF Text Extraction In Your Browser - PDFTextOnline]線上服務，擷取PDF檔中的文字。(檔案大小不能超過10M) ([http://www.box.net/shared/pyve05ss4c 中文測試ok]，測試日期: 2008-12-07。)&lt;br /&gt;
&lt;br /&gt;
* [https://www.ghostscript.com/ Ghostscript] on {{Win}} &amp;amp; {{Linux}}&amp;lt;ref&amp;gt;[https://apple.stackexchange.com/questions/2487/how-to-convert-a-pdf-file-into-a-text-file How to convert a pdf file into a text file? - Ask Different]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* [http://www.convertpdftotext.net/ Convert pdf to Text - Convert pdf to txt - Convert online pdf to Text] ([http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2008-12-07。)&lt;br /&gt;
&lt;br /&gt;
* [http://www.zamzar.com/ Zamzar - Free online file conversion]線上服務: PDF轉成TXT ([http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2008-12-07。)&lt;br /&gt;
&lt;br /&gt;
* ([[OCR]]) [https://pdfcandy.com/tw/pdf-ocr.html PDF 轉文字–免費線上OCR轉換工具] 免費版限制：一小時轉換一個檔案，檔案大小也有限制{{access | date=2022-10-07}}&lt;br /&gt;
&lt;br /&gt;
[https://www.xpdfreader.com/pdftotext-man.html pdftotext] ([[Convert pdf to txt|Quick Start]])&lt;br /&gt;
* On {{Win}}: Part of [https://www.xpdfreader.com/index.html XpdfReader], dual licensed under GPL v2 and GPL v3&amp;lt;ref&amp;gt;[https://www.xpdfreader.com/opensource.html Xpdf Open Source]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* On {{Mac}} &amp;amp; {{Linux}}: Part of [https://poppler.freedesktop.org/ Poppler]&amp;lt;ref&amp;gt;[https://brewinstall.org/install-pdftotext-mac-osx/ Install pdftotext on Mac OSX - Brew Cask | BrewInstall]&amp;lt;/ref&amp;gt; (GPL v2 or later), historically derived from Xpdf ([https://en.wikipedia.org/wiki/Pdftotext Wikipedia]) {{access | date=2023-06-02}} {{Gd}}&lt;br /&gt;
* Usage: {{kbd | key=&amp;lt;nowiki&amp;gt;pdftotext [options] [PDF-file [text-file]]&amp;lt;/nowiki&amp;gt;}} e.g. {{kbd | key=&amp;lt;nowiki&amp;gt;pdftotext -enc UTF-8 example.pdf example.txt&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
[https://github.com/py-pdf/pdfly py-pdf/pdfly: CLI tool to extract (meta)data from PDF and manipulate PDF files] &amp;quot;A {{Acronym| acronym=CLI| def=命令列介面（英語：Command-line interface）}} application that uses [https://github.com/py-pdf/pdfly pypdf] to interact with PDFs.&amp;quot;&lt;br /&gt;
* License: [https://github.com/py-pdf/pdfly/blob/main/LICENSE BSD 3-Clause License] {{Gd}}&lt;br /&gt;
* Usage: {{kbd | key=&amp;lt;nowiki&amp;gt;pdfly extract-text PDF-file &amp;gt; text-file&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
* Known issues: On Windows systems with Chinese locales (cp950), PDF text extraction may fail with Unicode encoding errors when encountering certain special characters like &#039;\u25aa&#039; (BLACK SMALL SQUARE). This is a character encoding limitation of the default Windows codepage&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/50933194/how-do-i-set-the-pythonutf8-environment-variable-to-enable-utf-8-encoding-by-def How do I set the PYTHONUTF8 environment variable to enable UTF-8 encoding by default in Python? - Stack Overflow]&amp;lt;/ref&amp;gt;.&lt;br /&gt;
* Requirement: [https://www.python.org/downloads/ Python]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/ArtifexSoftware/mupdf mupd] (part of [https://mupdf.com/core MuPDF])&lt;br /&gt;
* License: [https://github.com/ArtifexSoftware/mupdf?tab=AGPL-3.0-1-ov-file GNU AFFERO GENERAL PUBLIC LICENSE]&lt;br /&gt;
* Usage: {{kbd | key=&amp;lt;nowiki&amp;gt;mutool draw -F txt -o PDF-file text-file&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成 Markdown (md) ====&lt;br /&gt;
[[PDF to Markdown Conversion]]&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成 Word 或 RTF ====&lt;br /&gt;
* {{Gd}} [https://onedrive.live.com Microsoft OneDrive] PDF 轉 Word 操作步驟：使用 Word Online 編輯 PDF 檔，將會轉換 PDF 為 Word 檔案。再下載複本到電腦。 ([http://www.box.net/shared/pyve05ss4c 中文測試ok]，測試日期: 2013-09-27。)&lt;br /&gt;
&lt;br /&gt;
* {{Gd}} [https://drive.google.com/ Google 雲端硬碟] PDF 轉 Word 操作步驟：(1) 上傳 PDF 檔案到 Google 雲端硬碟、(2) 不要點兩下，直接打開 PDF 檔案。而是按滑鼠右鍵，「選擇開啟工具」，再選擇「Google 文件」。(測試日期: 2023-01-31)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pdftoword.com/ Convert PDF to Word (DOC) Online] ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/xj4y3ecqfkqhvtqm4q895gnwk70eszi2 測試ok]，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [https://pdf2docx.com/ PDF to DOCX – Convert PDF to DOCX Online] ([http://www.box.net/shared/pyve05ss4c 繁體中文測試ok]，測試日期: 2012-02-02; 簡體中文: 轉換ok，測試日期: 2012-02-02。)&lt;br /&gt;
* [http://convertpdftoword.net/ Convert pdf to word] 線上服務，不需要提供 Email ([http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2018-02-06)&lt;br /&gt;
* [http://www.cometdocs.com/ Cometdocs  - Convert Data, Files Online FREE: PDF, Word, Excel, Text, Images] 檔案大小最多 100M，需要輸入 email  ([http://www.box.net/shared/pyve05ss4c 繁體中文測試ok]，測試日期: 2015-04-21 )  教學: [http://www.playpcesor.com/2015/04/pdf-word-cometdocs.html PDF 轉 Word 線上 Cometdocs 完美的中文版面轉檔 -電腦玩物]&lt;br /&gt;
* [https://smallpdf.com/ Smallpdf.com - A Free Solution to all your PDF Problems] 每小時 2 次的免費轉檔次數 ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/40e3savgxyqj1j3p5iztzu90yd8lp1g2 測試ok]，測試日期: 2018-10-24)&lt;br /&gt;
* [https://www.convertpdftoword.net/ Convert pdf to word - pdf to word - online pdf to word converter] ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/xm66tgiclhi1kif7x0094xti424iq8hx 測試ok，但是版面亂掉] {{exclaim}}，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [http://www.pdfonline.com/pdf-to-word-converter/ PDF2Word Online: Convert PDF to Word (DOC) for Free]([http://www.pdfonline.com/easyconverter/sdk/ BCL easyConverter SDK]): ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/8ljs3erafm0zpy55l6qcz386ye3a3yj0 測試ok]，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [https://www.ilovepdf.com/zh_tw/pdf_to_word ilovepdf 將你的 PDF 轉換為 DOC 和 DOCX 文檔，以便於編輯。] ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/3uxpjbqulafvy43l2hhwcsyte0ojle13 測試ok]，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [http://pdftoword.1bestlink.net/?lang=zh-TW PDF到Word轉換器] 檔案大小 10 MB ([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/mlh7fn6fsbwe1uzsn7ma5rxleuyhqb6v 測試ok，但是版面亂掉] {{exclaim}}，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [http://www.zamzar.com/ Zamzar - Free online file conversion]線上服務: PDF轉成Word，檔案大小最多 100M，需要提供 Email。 ([http://www.box.net/shared/pyve05ss4c 中文變亂碼] {{exclaim}}，測試日期: 2018-10-24。)&lt;br /&gt;
&lt;br /&gt;
* [https://www.cometdocs.com/ Cometdocs File Converter. Convert Excel to Word and more.] 需要提供 Email。([https://app.box.com/s/d5jwqaa4m2mw1dkz7v3gbeec1zi09brv 繁體中文] [https://app.box.com/s/cvxdvzn6kayj37kavfqh7abmn2xotq1u 變成亂碼] {{exclaim}}，測試日期: 2018-10-24)&lt;br /&gt;
&lt;br /&gt;
* [http://www.e-pdfconverter.com/pdf-to-word/index.html e-PDFToWordConverter] (&#039;&#039;$&#039;&#039;); [http://www.anypdftools.com/pdf-converter-win-landing.html AnyBizSoft PDF Converter](&#039;&#039;$&#039;&#039;); [http://www.solidpdf.com/ Solid Converter PDF] (&#039;&#039;$&#039;&#039;) - 轉換時有提供記錄檔。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://cloud.acrobat.com/exportpdf Adobe PDF Services] PDF 轉成 word, excel, OCR 辨識，但是台灣不支援該服務。{{access | date = 2018-02-06}}&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.pdf-xchange.com/product/pdf-xchange-editor PDF-XChange Co Ltd :: PDF-XChange Editor - The Best Free PDF Editor] Plus edition 教學：[https://azo-edu.blogspot.com/2020/05/pdf-xchange-editor.html [教學] 如何啟用PDF-XChange Editor的Enhanced OCR Plugin增強版文字辨識功能 - v8.0.339.0 - 阿榮技術學院]&lt;br /&gt;
&lt;br /&gt;
相關頁面: [[OCR]]、[[Convert pdf file in japanese | 日文 PDF 轉 Word 或 Excel 的 線上轉檔服務比較]]&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成網頁 (HTM) ====&lt;br /&gt;
* {{Gd}} [https://convertio.co/pdf-html/ PDF to HTML (Online &amp;amp; Free) — Convertio] 保留 PDF檔案內的連結資訊 {{access| date=2024-04-18}}&lt;br /&gt;
* {{Gd}} [https://cloudconvert.com/pdf-to-html PDF to HTML | CloudConvert] 免費帳號檔案大小限制：100MB。保留 PDF檔案內的連結資訊 {{access| date=2024-11-22}}&lt;br /&gt;
* [https://docs.google.com/ Google Docs] ([http://www.box.net/shared/pyve05ss4c 中文測試ok] {{exclaim}} PDF檔案內部分連結資訊，轉換後會遺失 {{access| date=2024-04-18}}&lt;br /&gt;
* zamzar [https://www.zamzar.com/convert/pdf-to-html/ PDF to HTML - Convert your PDF to HTML for Free Online] 免費帳號檔案大小限制：4MB {{access | date=2024-04-18}}&lt;br /&gt;
* [https://www.xpdfreader.com/pdftohtml-man.html pdftohtml(1)] on {{Linux}} &amp;amp; {{Mac}}&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/8370014/how-to-convert-pdf-to-html How to convert PDF to HTML? - Stack Overflow]&amp;lt;/ref&amp;gt; example command: {{kbd|key=&amp;lt;nowiki&amp;gt;pdftohtml -enc UTF-8 -noframes &amp;quot;input.pdf&amp;quot; output.html&amp;lt;/nowiki&amp;gt;}} {{exclaim}} PDF檔案內部分連結資訊，轉換後會遺失&lt;br /&gt;
* [http://www.clicktoconvert.com/index.html Click to Convert - Create PDF and HTML Files from any Document.](&#039;&#039;$&#039;&#039;) demo: [http://www.acunetix.com/vulnerability-scanner/wvs6manual/websecurity-scanner.htm Introduction to Acunetix Web Vulnerability Scanner]&lt;br /&gt;
* [http://clie.ws/bbs/index.php?showtopic=3486 PDF 檔案轉換為 HTML 再轉為 iSilo PDB檔]&lt;br /&gt;
* [http://www.somepdf.com/some-pdf-to-html-converter.html Some PDF to Html Converter](可批次處理多個pdf檔)- ([http://www.box.net/shared/pyve05ss4c 中文會掉字]，測試日期: 2010-06-07。)&lt;br /&gt;
* [http://www.adobe.com/products/acrobat/access_onlinetools.html Adobe Online conversion tools for Adobe PDF documents] ([http://www.box.net/shared/pyve05ss4c 中文會掉字]，測試日期: 2010-06-07。)&lt;br /&gt;
* [http://www.pdfdownload.org/free-pdf-to-html.aspx Convert PDF to HTML Free Online in Firefox - PDF Download by Nitro PDF Software] ([http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2010-06-07。)&lt;br /&gt;
* [https://products.aspose.app/words/zh-hant/conversion/pdf-to-html# PDF轉HTML] 上傳大於 3 Mb 的檔案，需要登入 {{access| date=2024-04-18}}&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成 Excel ====&lt;br /&gt;
* {{Gd}} [https://www.pdftoexcelonline.com/ PDF to Excel Converter – 100% Free] 需提供 Email {{access | date = 2021-06-18}}&lt;br /&gt;
* [https://www.ilovepdf.com/zh-tw/pdf_to_excel 立即將你的 PDF 數據轉換為 EXCEL 表單] {{access | date = 2022-08-23}}&lt;br /&gt;
* [https://online2pdf.com/pdf2excel PDF2EXCEL - Change PDF to EXCEL online &amp;amp; free] 會將 PDF 多頁表格合併到 Excel 同一個工作表。 {{access | date = 2018-02-01}}&lt;br /&gt;
* [https://www.zamzar.com/convert/pdf-to-xls/ Convert your PDF file to XLS now - Free, Simple and Online] 需提供 Email，轉檔後 Excel 表格增加額外的空白列 {{access | date = 2018-02-02}}&lt;br /&gt;
* [https://www.pdftoexcel.com/ Convert PDF to Excel Free Online - No email required] 轉檔後 Excel 表格增加額外的空白列 {{access | date = 2018-02-02}}&lt;br /&gt;
* [https://www.freepdfconvert.com/zh-tw/pdf-to-excel 最佳PDF轉Excel轉換器：線上轉換為XLS(免費)] {{exclaim}} 免費版只能轉換前兩頁 {{access | date = 2021-06-18}}&lt;br /&gt;
* [http://www.convertfiles.com/ Convert Files - free online file converter and flash video downloader.] {{exclaim}} 網頁反應速度慢，建議提供 Email 讓網站寄送下載連結。會將 PDF 多頁表格合併到 Excel 同一個工作表。  {{access | date = 2018-02-01}}&lt;br /&gt;
* [https://altoconvertpdftoexcel.com/ Convert PDF to Excel Online for FREE - PDF to EXCEL Converter | AltoConvertPDFtoExcel] {{exclaim}} 中文無法正常顯示，會將 PDF 多頁表格合併到 Excel 同一個工作表。  {{access | date = 2020-04-08}}&lt;br /&gt;
* [https://smallpdf.com/zh-TW/pdf-to-excel PDF轉Excel轉換器 - 免費服務] 免費版每小時只能使用兩次 {{exclaim}} 中文無法正常顯示 {{access | date = 2018-02-01}}&lt;br /&gt;
&lt;br /&gt;
{{Tips}} 當相同欄位的表格橫跨不同 PDF 頁面，轉成 Excel 檔後，可能會看到表格分散在 Excel 檔案的不同工作表。可使用合併工作表的工具: &#039;&#039;$&#039;&#039; [https://www.ablebits.com/excel-lookup-tables/index.php Merge Excel worksheets by matching data in seconds]&lt;br /&gt;
&lt;br /&gt;
==== PDF轉成簡報檔 (PPTX) ====&lt;br /&gt;
&lt;br /&gt;
* {{gd}} [https://www.adobe.com/acrobat/online/pdf-to-ppt.html PDF to PPT: Convert PDF to PowerPoint for free | Adobe Acrobat]&lt;br /&gt;
* [http://www.zamzar.com/ Zamzar]將PDF轉成RTF的效果比Acrobar v7好，後者是轉成圖。&lt;br /&gt;
* Able2Extract 5.0 (&#039;&#039;$&#039;&#039;) - [http://www.investintech.com/prod_a2e.htm Convert PDF to Excel, Word with the PDF Converter]&lt;br /&gt;
* [http://convertpdftopowerpoint.com/ PDF to PowerPoint]&lt;br /&gt;
&lt;br /&gt;
==== PDF 轉換成圖檔 ====&lt;br /&gt;
* [https://docupub.com/pdfconvert/ Free Online PDF Converter, Batch Convert to PDF, PDF/A or Image, Doc Converter] 線上服務 offered by [http://neevia.com/ Neevia Technology, Inc]，檔案大小不能超過 5MB (中文轉換成功，測試日期: 2016-01-15。)&lt;br /&gt;
&lt;br /&gt;
* [https://pdf2png.com/ PDF to PNG – Convert PDF to PNG Online] ([http://www.box.net/shared/pyve05ss4c 中文轉換ok]，測試日期: 2018-10-24。)&lt;br /&gt;
&lt;br /&gt;
* [http://www.freepdfconvert.com/convert_pdf_to_source.asp PDF to Word Converter. Convert PDF to Word DOC or Excel XLS Online, Extract Images from PDF.]線上服務: PDF轉換成圖檔的品質比Zamzar好, 但是有每30分鐘轉一個檔案的限制 ([http://www.box.net/shared/pyve05ss4c 中文轉換失敗]，測試日期: 2008-12-07。)&lt;br /&gt;
&lt;br /&gt;
* [http://www.somepdf.com/some-pdf-image-extract.html Some PDF Image Extract] 擷取PDF檔中的圖檔&lt;br /&gt;
** 教學: [http://www.ithome.com.tw/itadm/article.php?c=65299 用SPDFIE抓出PDF文件裡的精彩圖片] (拜訪日期: 2011-01-03)&lt;br /&gt;
&lt;br /&gt;
* Adobe Reader X: (1)選單 -&amp;gt; 編輯: 勾選「拍攝快照」。 (2)回到PDF本文，選取要複製的圖片； (3)貼到圖形編輯軟體。&lt;br /&gt;
&lt;br /&gt;
* [http://www.zamzar.com/ Zamzar - Free online file conversion]線上服務: PDF轉成PNG ( {{exclaim}} [http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2008-12-07。)&lt;br /&gt;
&lt;br /&gt;
* [http://www.convertpdftoimage.com/ Convert pdf to image - Convert pdf to jpg - Convert online pdf to image] 線上服務 ( {{exclaim}} [http://www.box.net/shared/pyve05ss4c 中文變亂碼]，測試日期: 2008-12-07。; 圖的解析度不佳 2013-05-23)&lt;br /&gt;
&lt;br /&gt;
* {{Mac}} [https://support.apple.com/zh-tw/HT201740 預覽程式]: 將 PDF 轉換成圖檔，缺點只能轉換一頁。如果選定多頁，只會將選擇範圍的第一頁轉換成圖檔。操作方式: 選單: 檔案 --&amp;gt; 輸出。&lt;br /&gt;
&lt;br /&gt;
==== See also ====&lt;br /&gt;
* [[Mutool Glyph Index Error]]&lt;br /&gt;
&lt;br /&gt;
[[Category: PDF Processing]]&lt;br /&gt;
[[Category: Document Conversion]]&lt;br /&gt;
&lt;br /&gt;
==== References ====&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26456</id>
		<title>PDF to Markdown Conversion</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=PDF_to_Markdown_Conversion&amp;diff=26456"/>
		<updated>2026-09-15T08:39:46Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: Created page with &amp;quot;= PDF to Markdown Conversion =  == Introduction ==  This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.  The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, vis...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= PDF to Markdown Conversion =&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This prompt is designed to convert a PDF document into structured Markdown while preserving not only its textual content, but also information contained in images, charts, screenshots, scanned pages, diagrams, and other visual elements.&lt;br /&gt;
&lt;br /&gt;
The goal is to produce a Markdown representation that preserves the original document as faithfully as possible, including its content, structure, reading order, tables, formatting, visually embedded text, and source references.&lt;br /&gt;
&lt;br /&gt;
== Model Requirements ==&lt;br /&gt;
&lt;br /&gt;
This prompt should be used with an AI model that supports &#039;&#039;&#039;vision, image understanding, or multimodal input&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
The model must be capable of analyzing visual content inside a PDF, rather than relying solely on text extracted from the PDF&#039;s text layer.&lt;br /&gt;
&lt;br /&gt;
Examples of suitable multimodal or vision-capable models include:&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;OpenAI:&#039;&#039;&#039; GPT-4.5&amp;lt;ref&amp;gt;[https://openai.com/zh-Hant/index/introducing-gpt-4-5/ 隆重介紹 GPT-4.5 | OpenAI]&amp;lt;/ref&amp;gt;, GPT-4.1, GPT-5 series&lt;br /&gt;
* &#039;&#039;&#039;Google:&#039;&#039;&#039; Gemini models with multimodal/image understanding capabilities, such as Gemini 2.5 Flash&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/models/gemini-2.5-flash?hl=zh-tw Gemini 2.5 Flash  |  Gemini API  |  Google AI for Developers]&amp;lt;/ref&amp;gt; or Gemini 2.5 Pro&lt;br /&gt;
* &#039;&#039;&#039;Anthropic:&#039;&#039;&#039; Claude models with vision/image-input support&lt;br /&gt;
&lt;br /&gt;
Equivalent or newer multimodal models or models with vision capabilities may also be used, provided that they can inspect images and graphical content contained within the PDF.&lt;br /&gt;
&lt;br /&gt;
A text-only model, or a PDF processing pipeline that extracts only the PDF text layer, is &#039;&#039;&#039;not sufficient&#039;&#039;&#039; for this task because text embedded in screenshots, scanned pages, charts, diagrams, or other images may otherwise be omitted.&lt;br /&gt;
&lt;br /&gt;
== Task ==&lt;br /&gt;
&lt;br /&gt;
Prompt&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
I will provide a PDF file. Convert its contents into Markdown-formatted text.&lt;br /&gt;
&lt;br /&gt;
Please follow these requirements:&lt;br /&gt;
&lt;br /&gt;
# If the PDF contains images, charts, screenshots, scanned pages, diagrams, or other graphical content, inspect the visual content and extract &#039;&#039;&#039;all readable text contained within it&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Transcribe that text into the Markdown output. Do not omit text simply because it is embedded in an image rather than stored in the PDF text layer.&lt;br /&gt;
&lt;br /&gt;
# If a graphical element contains no text, such as a photograph, icon, illustration, or purely visual diagram, do not skip it.&lt;br /&gt;
&lt;br /&gt;
   Represent it using the following format:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Image: Brief description of its content or purpose]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Preserve the original document&#039;s structure and hierarchy as closely as possible, including:&lt;br /&gt;
&lt;br /&gt;
* Headings (&amp;lt;code&amp;gt;#&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;##&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;###&amp;lt;/code&amp;gt;, etc.)&lt;br /&gt;
* Paragraphs&lt;br /&gt;
* Ordered and unordered lists&lt;br /&gt;
* Tables&lt;br /&gt;
* &#039;&#039;&#039;Bold text&#039;&#039;&#039;&lt;br /&gt;
   &#039;&#039; &#039;&#039;Italic text*&lt;br /&gt;
* Blockquotes&lt;br /&gt;
* Code blocks&lt;br /&gt;
* Other meaningful structural formatting&lt;br /&gt;
&lt;br /&gt;
# Convert tables into standard Markdown table syntax whenever possible.&lt;br /&gt;
&lt;br /&gt;
   If a table is too complex to reproduce accurately in Markdown, explain the limitation and preserve the relationships between rows, columns, headers, and values as faithfully as possible.&lt;br /&gt;
&lt;br /&gt;
# If a page contains both textual and graphical content, preserve the original &#039;&#039;&#039;reading order&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
   Insert transcribed image content or image descriptions at the position where the corresponding visual element appears in the document.&lt;br /&gt;
&lt;br /&gt;
# Do not add, rewrite, correct, infer, summarize, or guess information that does not appear in the original PDF.&lt;br /&gt;
&lt;br /&gt;
   The output should be a transcription and structural conversion, not an interpretation of the document.&lt;br /&gt;
&lt;br /&gt;
# If any text is blurry, obscured, incomplete, or otherwise impossible to identify reliably, use:&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;code&amp;gt;[Unrecognizable]&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
   Do not guess the missing text.&lt;br /&gt;
&lt;br /&gt;
# When both the PDF text layer and the visual rendering contain the same text, avoid unnecessary duplication.&lt;br /&gt;
&lt;br /&gt;
   Prefer the version that most accurately represents the document while preserving visually significant information that may not exist in the text layer.&lt;br /&gt;
&lt;br /&gt;
# Pay particular attention to visual elements that commonly contain important text, including:&lt;br /&gt;
&lt;br /&gt;
* Screenshots&lt;br /&gt;
* Scanned documents&lt;br /&gt;
* Infographics&lt;br /&gt;
* Flowcharts&lt;br /&gt;
* Charts and graphs&lt;br /&gt;
* Forms&lt;br /&gt;
* Presentation slides embedded in the PDF&lt;br /&gt;
* Captions and annotations&lt;br /&gt;
* Labels inside diagrams&lt;br /&gt;
* Text rendered as part of an image&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Timer&amp;diff=26455</id>
		<title>Timer</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Timer&amp;diff=26455"/>
		<updated>2026-09-15T03:23:03Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Linux command (BASH) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Get the execution time of the script or sql query.&lt;br /&gt;
&lt;br /&gt;
== PHP ==&lt;br /&gt;
* [http://stackoverflow.com/questions/8310487/start-and-stop-a-timer-php Start and stop a timer PHP - Stack Overflow]&lt;br /&gt;
* [http://stackoverflow.com/questions/6245971/accurate-way-to-measure-execution-times-of-php-scripts Accurate way to measure execution times of php scripts - Stack Overflow]&lt;br /&gt;
&lt;br /&gt;
== MySQL ==&lt;br /&gt;
Recording the time elapsed after the sql query was executed.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
SELECT @timer := CURRENT_TIMESTAMP();&lt;br /&gt;
SELECT SLEEP(2); /* sleep 2 seconds for testing purpose */&lt;br /&gt;
SELECT &#039;custom message&#039; AS &#039;action&#039;, CURRENT_TIMESTAMP() AS &#039;finish time&#039;, @timer AS &#039;start time&#039;, TIMEDIFF(CURRENT_TIMESTAMP(), @timer) AS &#039;time elapsed&#039;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Linux command (BASH) ==&lt;br /&gt;
{{Linux}} console, {{Mac}} Terminal or Cygwin commands on {{Win}}&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/385408/get-program-execution-time-in-the-shell linux - Get program execution time in the shell - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/12199631/convert-seconds-to-hours-minutes-seconds bash - Convert seconds to hours, minutes, seconds - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# start the timer&lt;br /&gt;
START=$(date +%s)&lt;br /&gt;
&lt;br /&gt;
# sleep 2 seconds for testing purpose&lt;br /&gt;
sleep 2s&lt;br /&gt;
&lt;br /&gt;
# stop the timer&lt;br /&gt;
END=$(date +%s)&lt;br /&gt;
DIFF=$(( $END - $START ))&lt;br /&gt;
printf &amp;quot;Elapsed time %02dh:%02dm:%02ds\n&amp;quot; $(($DIFF/3600)) $(($DIFF%3600/60)) $(($DIFF%60))&lt;br /&gt;
&lt;br /&gt;
# expected result: &lt;br /&gt;
#   Elapsed time 00h:00m:02s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This following script measures elapsed time with millisecond precision&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# start the timer&lt;br /&gt;
START=$(date +%s.%N)&lt;br /&gt;
&lt;br /&gt;
# sleep 2 seconds for testing purpose&lt;br /&gt;
sleep 2s&lt;br /&gt;
&lt;br /&gt;
# stop the timer&lt;br /&gt;
END=$(date +%s.%N)&lt;br /&gt;
DIFF=$(awk &amp;quot;BEGIN {printf \&amp;quot;%.3f\&amp;quot;, $END - $START}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
# Use awk to break the seconds down into h/m/s while preserving the decimal part&lt;br /&gt;
printf &amp;quot;Elapsed time %s\n&amp;quot; &amp;quot;$(awk -v t=&amp;quot;$DIFF&amp;quot; &#039;BEGIN {&lt;br /&gt;
    h = int(t/3600)&lt;br /&gt;
    m = int((t%3600)/60)&lt;br /&gt;
    s = t%60&lt;br /&gt;
    printf &amp;quot;%02dh:%02dm:%06.3fs&amp;quot;, h, m, s&lt;br /&gt;
}&#039;)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# expected result:&lt;br /&gt;
#   Elapsed time 00h:00m:02.002s&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Windows command (DOS) ==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM show the start time&lt;br /&gt;
prompt $d $t $_$P$G&lt;br /&gt;
&lt;br /&gt;
REM do something ...&lt;br /&gt;
&lt;br /&gt;
REM show the finish time&lt;br /&gt;
prompt $d $t $_$P$G&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or ...&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/673523/how-do-i-measure-execution-time-of-a-command-on-the-windows-command-line batch file - How do I measure execution time of a command on the Windows command line? - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://stackoverflow.com/questions/166044/sleeping-in-a-batch-file python - Sleeping in a batch file - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
REM start to record the start time&lt;br /&gt;
set startTime=%time%&lt;br /&gt;
&lt;br /&gt;
REM do something ...&lt;br /&gt;
&lt;br /&gt;
REM show the start and finish time&lt;br /&gt;
echo Start Time: %startTime%&lt;br /&gt;
echo Finish Time: %time%&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Python ==&lt;br /&gt;
Using [https://docs.python.org/3/library/time.html#time.time time.time()]&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/7370801/measure-time-elapsed-in-python performance - Measure time elapsed in Python? - Stack Overflow]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
import time&lt;br /&gt;
&lt;br /&gt;
# start the timer&lt;br /&gt;
start = time.time()&lt;br /&gt;
&lt;br /&gt;
# do something&lt;br /&gt;
&lt;br /&gt;
# stop the timer&lt;br /&gt;
end = time.time()&lt;br /&gt;
print(&amp;quot;Elapsed time in seconds: &amp;quot;, end - start)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Javascript ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
function sleep(ms) {&lt;br /&gt;
  return new Promise(resolve =&amp;gt; setTimeout(resolve, ms));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// 1 second = 1000 ms&lt;br /&gt;
var startTimeInMs = Date.now();&lt;br /&gt;
&lt;br /&gt;
await sleep(2000);&lt;br /&gt;
&lt;br /&gt;
var endTimeInMs = Date.now();&lt;br /&gt;
var durationInMs = endTimeInMs - startTimeInMs;&lt;br /&gt;
console.log(&#039;durationInMs: &#039; + durationInMs);&lt;br /&gt;
&lt;br /&gt;
var durationInSecond = durationInMs / 1000;&lt;br /&gt;
console.log(&#039;durationInSecond: &#039; + durationInSecond);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Reference&lt;br /&gt;
&lt;br /&gt;
* [https://www.educative.io/edpresso/what-is-the-javascript-alternative-to-the-sleep-function What is the Javascript alternative to the sleep function?]&lt;br /&gt;
* [https://www.jstips.co/zh_tw/javascript/extract-unix-timestamp-easily/ 在 JavaScript 簡單取得 unix timestamp]&lt;br /&gt;
&lt;br /&gt;
== Java ==&lt;br /&gt;
[https://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis() Java.lang.System.currentTimeMillis()]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# start the timer&lt;br /&gt;
long start_time = System.currentTimeMillis();&lt;br /&gt;
&lt;br /&gt;
# stop the timer&lt;br /&gt;
System.out.println(&amp;quot;\nElapsed time: &amp;quot; + (System.currentTimeMillis() - start_time) + &amp;quot; ms&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
References&lt;br /&gt;
&lt;br /&gt;
&amp;lt;References /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Programming]] [[Category:PHP]] [[Category:MySQL]] [[Category:Java]] [[Category:Python]] [[Category:Bash]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Speech_to_text&amp;diff=26454</id>
		<title>Speech to text</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Speech_to_text&amp;diff=26454"/>
		<updated>2026-09-11T02:18:57Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Related pages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparison of speech to text (transcription) software&lt;br /&gt;
&lt;br /&gt;
{{Template:Generative AI Tool}}&lt;br /&gt;
&lt;br /&gt;
== Speech to text software ==&lt;br /&gt;
[https://notebooklm.google.com/ NotebookLM] {{access | date = 2026-06-06}}&lt;br /&gt;
* Input file format: Audio file (max 200 MB)&amp;lt;ref&amp;gt;[https://support.google.com/notebooklm/answer/16269187?hl=en#zippy=%2Cfile-size-limit-for-sources-in-notebooklm Frequently asked questions - NotebookLM Help]: &amp;quot;The current limit is 500,000 words per source or up to 200MB for local uploads. There&#039;s no page limit.&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Supported languages: 80+ languages&amp;lt;ref&amp;gt;[https://support.google.com/notebooklm/answer/16261963?hl=en&amp;amp;co=GENIE.Platform%3DDesktop#zippy= Change output language in NotebookLM - Computer - NotebookLM Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Speaker identification: Prompt-based&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: TXT (Prompt-based)&lt;br /&gt;
* Notes: (1) Timestamp formatting is not supported {{exclaim}} (2) Mixed-language audio (e.g. Mandarin Chinese/English): Automatically translated into the target language as specified in the user prompt&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[https://asr.yating.tw/ 雅婷逐字稿]&lt;br /&gt;
* Input file format: Audio file or video file&lt;br /&gt;
* Supported languages: (1) Mandarin Chinese &amp;amp; English, (2) Mandarin Chinese, English &amp;amp; Taiwanese (3) English&lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: PDF, TXT, ODT, DOCX, SRT, CSV&lt;br /&gt;
* Notes: &lt;br /&gt;
&lt;br /&gt;
[https://gemini.google.com/app Gemini]&lt;br /&gt;
* Input file format: Audio file or video file&amp;lt;ref&amp;gt;[https://support.google.com/gemini/answer/14903178?hl=en&amp;amp;co=GENIE.Platform%3DDesktop&amp;amp;sjid=5876216419430700379-NC Upload &amp;amp; analyze files in Gemini Apps - Computer - Gemini Apps Help]&amp;lt;/ref&amp;gt; The Gemini app doesn&#039;t support direct audio file uploads larger than 20 MB — you&#039;ll need to either use the File API or upload the file to Google Drive first and then link it from within the Gemini app.&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/audio Audio understanding - generateContent API | Google AI for Developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Supported languages: &lt;br /&gt;
* Speaker identification: Prompt-based&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: TXT (Prompt-based)&lt;br /&gt;
* Notes: &lt;br /&gt;
&lt;br /&gt;
[https://app.clipchamp.com/ Clipchamp] {{access | date = 2026-06-06}}&lt;br /&gt;
* Input file format: audio or video file&lt;br /&gt;
* Support Language: 80+ languages&amp;lt;ref&amp;gt;[https://support.microsoft.com/en-us/topic/how-to-use-autocaptions-in-clipchamp-ccb0520b-38f6-4fa9-aca8-872c2964946a How to use autocaptions in Clipchamp - Microsoft Support]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://learn.microsoft.com/zh-tw/azure/ai-services/speech-service/language-support?tabs=stt 語言支援 - 語音服務 - Azure AI services | Microsoft Learn]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Speaker identification:&lt;br /&gt;
* Output file format: SRT&lt;br /&gt;
* Comments: The free version seems to have no limitation on video duration, and you can also use AI to convert videos or audio into transcripts for free. However, during testing, the subtitles displayed for each time code were not complete sentences.&lt;br /&gt;
&lt;br /&gt;
[https://ink.dwave.cc/en-US/pricing Meeting Ink - AI notetaker to transcribe and summarize your meetings and recordings.]&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Support Language:&lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Real-Time Subtitles or Translation: Pro plan only &#039;&#039;$&#039;&#039;&lt;br /&gt;
* Free limit: 30 minutes max&lt;br /&gt;
&lt;br /&gt;
[https://huggingface.co/spaces/Xenova/whisper-web Whisper Web - a Hugging Face Space by Xenova]&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Support Language: English {{exclaim}} Even if the audio file contains a mix of two languages (e.g. Mandarin Chinese/English), the final output will only be in English. There is also no prompt available to modify this behavior.&lt;br /&gt;
* Speaker identification: No {{exclaim}}&lt;br /&gt;
* Output file format: TXT or JSON (contains timestamp info.)&lt;br /&gt;
&lt;br /&gt;
影片要產生文字，可利用 youtube 的 [https://support.google.com/youtube/answer/6373554?hl=en Use automatic captioning - YouTube Help]，約需要半天時間 {{access | date = 2018-09-04}} 教學: [https://www.techbang.com/posts/2107 YouTube超佛心，自動幫你加入字幕！ | T客邦]&lt;br /&gt;
* Input: Video&lt;br /&gt;
* Language: &lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://pulipulichen.github.io/HTML5-Speech-to-Text/ Web Speech to Text] 教學: [https://www.playpcesor.com/2019/12/Web-Speech-to-Text.html 免費！中文影片語音轉文字字幕，支援超大影片與長時間錄音]&lt;br /&gt;
* 物件: 電腦影像、聲音、YouTube 網址&lt;br /&gt;
* 語言: 中文、英文、日文、韓文&lt;br /&gt;
&lt;br /&gt;
[https://app.voicetapp.com/ Voicetapp - AI Voice to Text Transcription]&lt;br /&gt;
* Language: 中文、英文等多種語言&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit: 5 minutes&lt;br /&gt;
&lt;br /&gt;
[https://www.mygoodtape.com/ Good Tape]&lt;br /&gt;
* Support Language:&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Speaker identification: Available {{Gd}}&lt;br /&gt;
* Real-Time Subtitles or Translation: Not Available&lt;br /&gt;
* Free limit: 20 minutes max&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.larksuite.com/ Lark | Business Chat &amp;amp; Collaboration Tool] ([https://zh.wikipedia.org/wiki/%E9%A3%9E%E4%B9%A6 飞书 - 維基百科，自由的百科全書])&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
[https://web.itranscribe.co/#/homepage iTranscribe: Transcribe Audio &amp;amp; Video to Text]&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
[https://www.capcut.cn/ 剪映官網-全能易用的桌面端剪輯軟體-輕而易剪 上演大幕] 中國軟體 {{exclaim}}&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$&#039;&#039; [https://goodsnooze.gumroad.com/l/macwhisper MacWhisper] on {{Mac}}&lt;br /&gt;
* Input file format: Audio file or video file&lt;br /&gt;
* Supported languages: &lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Price: Free or Pro plan&lt;br /&gt;
* Output file format: TXT, DOCX, SRT, VTT, JSON and more&lt;br /&gt;
* Notes:&lt;br /&gt;
&lt;br /&gt;
== Speech to text API ==&lt;br /&gt;
{{Gd}} [https://github.com/openai/whisper openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision]&lt;br /&gt;
* Support Language: 99 languages&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Speaker identification: Need to integrate with (1) [https://github.com/m-bain/whisperX m-bain/whisperX: WhisperX: Automatic Speech Recognition with Word-level Timestamps (&amp;amp; Diarization)] or (2) [https://github.com/pyannote/pyannote-audio pyannote/pyannote-audio: Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding]&lt;br /&gt;
* Real-Time Subtitles or Translation: Not Available&lt;br /&gt;
* Related:&lt;br /&gt;
** [https://github.com/aaaddress1/Whisper.py?fbclid=IwAR1rwZH-USj2NIt8pLYRGhIqWvQWUj1FQTx83qpBncno3ANWDUBI_duWr9M aaaddress1/Whisper.py: 白癡喔還要下 pip install 誰會用啦—隨開即用 Windows 版 OpenAI Whisper 逐字稿產生器] on {{Win}} 介紹：[https://www.playpcesor.com/2023/04/whisperdesktop-ai.html WhisperDesktop 語音轉文字免費單機軟體，AI 影片字幕實測比較]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.google.com/speech/?hl=zh-tw Speech API - 語音辨識  |  Google Cloud] 「語音轉文字採用機器學習技術」，免費版語音辨識的額度 60 分鐘，詳 [https://cloud.google.com/speech-to-text/pricing 定價  |  Cloud Speech API Documentation  |  Google Cloud]。 {{access | date = 2018-09-04}}&lt;br /&gt;
* Input: microphone &amp;amp; audio file (For audio file which longer than 1 minute, upload files to Google cloud storage.&lt;br /&gt;
* Language: 120 languages &amp;lt;ref&amp;gt;[https://cloud.google.com/speech-to-text/docs/languages?hl=zh-tw Language Support  |  Cloud Speech-to-Text API  |  Google Cloud]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related: [[Troubleshooting of Google cloud speech to text]])&lt;br /&gt;
&lt;br /&gt;
[https://azure.microsoft.com/zh-tw/services/cognitive-services/speech/ Bing 語音 API - 語音辨識軟體 | Microsoft Azure]&lt;br /&gt;
* Input: Audio file. Format: wav &amp;amp; ogg&amp;lt;ref&amp;gt;[https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/rest-speech-to-text 語音轉換文字 API 參考（REST）-語音服務 - Azure Cognitive Services | Microsoft Docs]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: Traditional Chinese, Simplified Chinese &amp;amp; English and more on the list&amp;lt;ref&amp;gt;[https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/language-support#speech-to-text 語言支援-語音服務 - Azure Cognitive Services | Microsoft Docs]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code: [https://github.com/Azure-Samples/SpeechToText-REST Azure-Samples/SpeechToText-REST: REST Samples of Speech To Text API]&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://tw.olami.ai/open/website/apiandsolution/api_solution OLAMI 中文語音辨識 API｜歐拉蜜人工智慧開放平台（威盛電子）] {{access | date = 2018-09-05}}&lt;br /&gt;
* Input: Audio file. Format: wav &amp;amp; speex &amp;lt;ref&amp;gt;[https://tw.olami.ai/wiki/?mp=api_asr&amp;amp;content=api_asr1.html 文件中心 - OLAMI - 歐拉蜜人工智慧開放平台]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: Traditional Chinese &amp;amp; Simplified Chinese &amp;lt;ref&amp;gt;[https://github.com/olami-developers/olami-api-quickstart-curl-samples/tree/master/cloud-speech-recognition olami-api-quickstart-curl-samples/cloud-speech-recognition at master · olami-developers/olami-api-quickstart-curl-samples]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code: [https://github.com/olami-developers/olami-api-quickstart-curl-samples/tree/master/cloud-speech-recognition olami-developers/olami-api-quickstart-curl-samples]&lt;br /&gt;
* Related: [[Troubleshooting of Olami speech to text]]&lt;br /&gt;
&lt;br /&gt;
[https://www.xfyun.cn/doccenter/asr 语音识别 - 讯飞开放平台] {{access | date=2018-09-06}}&lt;br /&gt;
* Input: speex audio file less than 1 minute &amp;lt;ref&amp;gt;[https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html 语音听写 · 科大讯飞REST_API开发指南]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: 中文（普通话）、英文、中文（粤语）、中文（四川话）&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://aws.amazon.com/tw/transcribe/ Amazon Transcribe – 自動語音辨識 – AWS] (API documentation: [https://docs.aws.amazon.com/transcribe/latest/dg/what-is-transcribe.html What Is Amazon Transcribe? - Amazon Transcribe]) {{access | date=2018-09-05}}&lt;br /&gt;
* Input: Audio file (Stored in S3 bucket). &amp;quot;Valid formats for the audio are mp3, mp4, wav and flac. &amp;lt;ref&amp;gt;[https://docs.aws.amazon.com/transcribe/latest/dg/API_StartTranscriptionJob.html StartTranscriptionJob - Amazon Transcribe] For best results, use a lossless format, such as FLAC or WAV with PCM 16-bit encoding.Your audio input can be sampled at any rate between 8000 and 48000 Hz. We suggest that you use 8000 Hz for low-quality audio and 16000 Hz for high-quality audio.&amp;lt;/ref&amp;gt;&amp;quot;&lt;br /&gt;
* Language: English, Spanish&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/SYSTRAN/faster-whisper?tab=readme-ov-file SYSTRAN/faster-whisper: Faster Whisper transcription with CTranslate2]&lt;br /&gt;
* Language: Fork from OpenAI Whisper&lt;br /&gt;
* Sample code: [https://colab.research.google.com/drive/1TqmzTY5ZXcYBoBGbwSVBtwxlFajMIcRc?usp=sharing]&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
* Instruction: [https://gsyan888.blogspot.com/2023/11/faster-whisper.html 雄::gsyan: 以 Faster Whisper 將影音辨識為文字檔案(字幕或逐字稿)]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Const-me/Whisper Const-me/Whisper: High-performance GPGPU inference of OpenAI&#039;s Whisper automatic speech recognition (ASR) model] on {{Win}}&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [https://en.wikipedia.org/wiki/Speech_recognition Speech recognition] ([https://zh.wikipedia.org/zh-tw/%E8%AF%AD%E9%9F%B3%E8%AF%86%E5%88%AB 語音辨識], Automatic Speech Recognition，簡稱 ASR)&lt;br /&gt;
* [[Video to text]]&lt;br /&gt;
* [[Taiwanese Mandarin Text-to-Speech Services]]&lt;br /&gt;
* [[Troubleshooting of Google cloud speech to text]]&lt;br /&gt;
* [[Troubleshooting of Olami speech to text]]&lt;br /&gt;
* [[Troubleshooting of whisperX]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Speech_to_text&amp;diff=26453</id>
		<title>Speech to text</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Speech_to_text&amp;diff=26453"/>
		<updated>2026-09-10T06:19:52Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Related pages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Comparison of speech to text (transcription) software&lt;br /&gt;
&lt;br /&gt;
{{Template:Generative AI Tool}}&lt;br /&gt;
&lt;br /&gt;
== Speech to text software ==&lt;br /&gt;
[https://notebooklm.google.com/ NotebookLM] {{access | date = 2026-06-06}}&lt;br /&gt;
* Input file format: Audio file (max 200 MB)&amp;lt;ref&amp;gt;[https://support.google.com/notebooklm/answer/16269187?hl=en#zippy=%2Cfile-size-limit-for-sources-in-notebooklm Frequently asked questions - NotebookLM Help]: &amp;quot;The current limit is 500,000 words per source or up to 200MB for local uploads. There&#039;s no page limit.&amp;quot;&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Supported languages: 80+ languages&amp;lt;ref&amp;gt;[https://support.google.com/notebooklm/answer/16261963?hl=en&amp;amp;co=GENIE.Platform%3DDesktop#zippy= Change output language in NotebookLM - Computer - NotebookLM Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Speaker identification: Prompt-based&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: TXT (Prompt-based)&lt;br /&gt;
* Notes: (1) Timestamp formatting is not supported {{exclaim}} (2) Mixed-language audio (e.g. Mandarin Chinese/English): Automatically translated into the target language as specified in the user prompt&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
[https://asr.yating.tw/ 雅婷逐字稿]&lt;br /&gt;
* Input file format: Audio file or video file&lt;br /&gt;
* Supported languages: (1) Mandarin Chinese &amp;amp; English, (2) Mandarin Chinese, English &amp;amp; Taiwanese (3) English&lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: PDF, TXT, ODT, DOCX, SRT, CSV&lt;br /&gt;
* Notes: &lt;br /&gt;
&lt;br /&gt;
[https://gemini.google.com/app Gemini]&lt;br /&gt;
* Input file format: Audio file or video file&amp;lt;ref&amp;gt;[https://support.google.com/gemini/answer/14903178?hl=en&amp;amp;co=GENIE.Platform%3DDesktop&amp;amp;sjid=5876216419430700379-NC Upload &amp;amp; analyze files in Gemini Apps - Computer - Gemini Apps Help]&amp;lt;/ref&amp;gt; The Gemini app doesn&#039;t support direct audio file uploads larger than 20 MB — you&#039;ll need to either use the File API or upload the file to Google Drive first and then link it from within the Gemini app.&amp;lt;ref&amp;gt;[https://ai.google.dev/gemini-api/docs/audio Audio understanding - generateContent API | Google AI for Developers]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Supported languages: &lt;br /&gt;
* Speaker identification: Prompt-based&lt;br /&gt;
* Price: Free and paid tiers available&lt;br /&gt;
* Output file format: TXT (Prompt-based)&lt;br /&gt;
* Notes: &lt;br /&gt;
&lt;br /&gt;
[https://app.clipchamp.com/ Clipchamp] {{access | date = 2026-06-06}}&lt;br /&gt;
* Input file format: audio or video file&lt;br /&gt;
* Support Language: 80+ languages&amp;lt;ref&amp;gt;[https://support.microsoft.com/en-us/topic/how-to-use-autocaptions-in-clipchamp-ccb0520b-38f6-4fa9-aca8-872c2964946a How to use autocaptions in Clipchamp - Microsoft Support]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://learn.microsoft.com/zh-tw/azure/ai-services/speech-service/language-support?tabs=stt 語言支援 - 語音服務 - Azure AI services | Microsoft Learn]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Speaker identification:&lt;br /&gt;
* Output file format: SRT&lt;br /&gt;
* Comments: The free version seems to have no limitation on video duration, and you can also use AI to convert videos or audio into transcripts for free. However, during testing, the subtitles displayed for each time code were not complete sentences.&lt;br /&gt;
&lt;br /&gt;
[https://ink.dwave.cc/en-US/pricing Meeting Ink - AI notetaker to transcribe and summarize your meetings and recordings.]&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Support Language:&lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Real-Time Subtitles or Translation: Pro plan only &#039;&#039;$&#039;&#039;&lt;br /&gt;
* Free limit: 30 minutes max&lt;br /&gt;
&lt;br /&gt;
[https://huggingface.co/spaces/Xenova/whisper-web Whisper Web - a Hugging Face Space by Xenova]&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Support Language: English {{exclaim}} Even if the audio file contains a mix of two languages (e.g. Mandarin Chinese/English), the final output will only be in English. There is also no prompt available to modify this behavior.&lt;br /&gt;
* Speaker identification: No {{exclaim}}&lt;br /&gt;
* Output file format: TXT or JSON (contains timestamp info.)&lt;br /&gt;
&lt;br /&gt;
影片要產生文字，可利用 youtube 的 [https://support.google.com/youtube/answer/6373554?hl=en Use automatic captioning - YouTube Help]，約需要半天時間 {{access | date = 2018-09-04}} 教學: [https://www.techbang.com/posts/2107 YouTube超佛心，自動幫你加入字幕！ | T客邦]&lt;br /&gt;
* Input: Video&lt;br /&gt;
* Language: &lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://pulipulichen.github.io/HTML5-Speech-to-Text/ Web Speech to Text] 教學: [https://www.playpcesor.com/2019/12/Web-Speech-to-Text.html 免費！中文影片語音轉文字字幕，支援超大影片與長時間錄音]&lt;br /&gt;
* 物件: 電腦影像、聲音、YouTube 網址&lt;br /&gt;
* 語言: 中文、英文、日文、韓文&lt;br /&gt;
&lt;br /&gt;
[https://app.voicetapp.com/ Voicetapp - AI Voice to Text Transcription]&lt;br /&gt;
* Language: 中文、英文等多種語言&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit: 5 minutes&lt;br /&gt;
&lt;br /&gt;
[https://www.mygoodtape.com/ Good Tape]&lt;br /&gt;
* Support Language:&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Speaker identification: Available {{Gd}}&lt;br /&gt;
* Real-Time Subtitles or Translation: Not Available&lt;br /&gt;
* Free limit: 20 minutes max&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[https://www.larksuite.com/ Lark | Business Chat &amp;amp; Collaboration Tool] ([https://zh.wikipedia.org/wiki/%E9%A3%9E%E4%B9%A6 飞书 - 維基百科，自由的百科全書])&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
[https://web.itranscribe.co/#/homepage iTranscribe: Transcribe Audio &amp;amp; Video to Text]&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
[https://www.capcut.cn/ 剪映官網-全能易用的桌面端剪輯軟體-輕而易剪 上演大幕] 中國軟體 {{exclaim}}&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;$&#039;&#039; [https://goodsnooze.gumroad.com/l/macwhisper MacWhisper] on {{Mac}}&lt;br /&gt;
* Input file format: Audio file or video file&lt;br /&gt;
* Supported languages: &lt;br /&gt;
* Speaker identification: Yes {{Gd}}&lt;br /&gt;
* Price: Free or Pro plan&lt;br /&gt;
* Output file format: TXT, DOCX, SRT, VTT, JSON and more&lt;br /&gt;
* Notes:&lt;br /&gt;
&lt;br /&gt;
== Speech to text API ==&lt;br /&gt;
{{Gd}} [https://github.com/openai/whisper openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision]&lt;br /&gt;
* Support Language: 99 languages&lt;br /&gt;
* Input file: Audio files&lt;br /&gt;
* Speaker identification: Need to integrate with (1) [https://github.com/m-bain/whisperX m-bain/whisperX: WhisperX: Automatic Speech Recognition with Word-level Timestamps (&amp;amp; Diarization)] or (2) [https://github.com/pyannote/pyannote-audio pyannote/pyannote-audio: Neural building blocks for speaker diarization: speech activity detection, speaker change detection, overlapped speech detection, speaker embedding]&lt;br /&gt;
* Real-Time Subtitles or Translation: Not Available&lt;br /&gt;
* Related:&lt;br /&gt;
** [https://github.com/aaaddress1/Whisper.py?fbclid=IwAR1rwZH-USj2NIt8pLYRGhIqWvQWUj1FQTx83qpBncno3ANWDUBI_duWr9M aaaddress1/Whisper.py: 白癡喔還要下 pip install 誰會用啦—隨開即用 Windows 版 OpenAI Whisper 逐字稿產生器] on {{Win}} 介紹：[https://www.playpcesor.com/2023/04/whisperdesktop-ai.html WhisperDesktop 語音轉文字免費單機軟體，AI 影片字幕實測比較]&lt;br /&gt;
&lt;br /&gt;
[https://cloud.google.com/speech/?hl=zh-tw Speech API - 語音辨識  |  Google Cloud] 「語音轉文字採用機器學習技術」，免費版語音辨識的額度 60 分鐘，詳 [https://cloud.google.com/speech-to-text/pricing 定價  |  Cloud Speech API Documentation  |  Google Cloud]。 {{access | date = 2018-09-04}}&lt;br /&gt;
* Input: microphone &amp;amp; audio file (For audio file which longer than 1 minute, upload files to Google cloud storage.&lt;br /&gt;
* Language: 120 languages &amp;lt;ref&amp;gt;[https://cloud.google.com/speech-to-text/docs/languages?hl=zh-tw Language Support  |  Cloud Speech-to-Text API  |  Google Cloud]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related: [[Troubleshooting of Google cloud speech to text]])&lt;br /&gt;
&lt;br /&gt;
[https://azure.microsoft.com/zh-tw/services/cognitive-services/speech/ Bing 語音 API - 語音辨識軟體 | Microsoft Azure]&lt;br /&gt;
* Input: Audio file. Format: wav &amp;amp; ogg&amp;lt;ref&amp;gt;[https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/rest-speech-to-text 語音轉換文字 API 參考（REST）-語音服務 - Azure Cognitive Services | Microsoft Docs]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: Traditional Chinese, Simplified Chinese &amp;amp; English and more on the list&amp;lt;ref&amp;gt;[https://docs.microsoft.com/zh-tw/azure/cognitive-services/speech-service/language-support#speech-to-text 語言支援-語音服務 - Azure Cognitive Services | Microsoft Docs]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code: [https://github.com/Azure-Samples/SpeechToText-REST Azure-Samples/SpeechToText-REST: REST Samples of Speech To Text API]&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://tw.olami.ai/open/website/apiandsolution/api_solution OLAMI 中文語音辨識 API｜歐拉蜜人工智慧開放平台（威盛電子）] {{access | date = 2018-09-05}}&lt;br /&gt;
* Input: Audio file. Format: wav &amp;amp; speex &amp;lt;ref&amp;gt;[https://tw.olami.ai/wiki/?mp=api_asr&amp;amp;content=api_asr1.html 文件中心 - OLAMI - 歐拉蜜人工智慧開放平台]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: Traditional Chinese &amp;amp; Simplified Chinese &amp;lt;ref&amp;gt;[https://github.com/olami-developers/olami-api-quickstart-curl-samples/tree/master/cloud-speech-recognition olami-api-quickstart-curl-samples/cloud-speech-recognition at master · olami-developers/olami-api-quickstart-curl-samples]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Sample code: [https://github.com/olami-developers/olami-api-quickstart-curl-samples/tree/master/cloud-speech-recognition olami-developers/olami-api-quickstart-curl-samples]&lt;br /&gt;
* Related: [[Troubleshooting of Olami speech to text]]&lt;br /&gt;
&lt;br /&gt;
[https://www.xfyun.cn/doccenter/asr 语音识别 - 讯飞开放平台] {{access | date=2018-09-06}}&lt;br /&gt;
* Input: speex audio file less than 1 minute &amp;lt;ref&amp;gt;[https://doc.xfyun.cn/rest_api/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html 语音听写 · 科大讯飞REST_API开发指南]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Language: 中文（普通话）、英文、中文（粤语）、中文（四川话）&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://aws.amazon.com/tw/transcribe/ Amazon Transcribe – 自動語音辨識 – AWS] (API documentation: [https://docs.aws.amazon.com/transcribe/latest/dg/what-is-transcribe.html What Is Amazon Transcribe? - Amazon Transcribe]) {{access | date=2018-09-05}}&lt;br /&gt;
* Input: Audio file (Stored in S3 bucket). &amp;quot;Valid formats for the audio are mp3, mp4, wav and flac. &amp;lt;ref&amp;gt;[https://docs.aws.amazon.com/transcribe/latest/dg/API_StartTranscriptionJob.html StartTranscriptionJob - Amazon Transcribe] For best results, use a lossless format, such as FLAC or WAV with PCM 16-bit encoding.Your audio input can be sampled at any rate between 8000 and 48000 Hz. We suggest that you use 8000 Hz for low-quality audio and 16000 Hz for high-quality audio.&amp;lt;/ref&amp;gt;&amp;quot;&lt;br /&gt;
* Language: English, Spanish&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
&lt;br /&gt;
[https://github.com/SYSTRAN/faster-whisper?tab=readme-ov-file SYSTRAN/faster-whisper: Faster Whisper transcription with CTranslate2]&lt;br /&gt;
* Language: Fork from OpenAI Whisper&lt;br /&gt;
* Sample code: [https://colab.research.google.com/drive/1TqmzTY5ZXcYBoBGbwSVBtwxlFajMIcRc?usp=sharing]&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
* Instruction: [https://gsyan888.blogspot.com/2023/11/faster-whisper.html 雄::gsyan: 以 Faster Whisper 將影音辨識為文字檔案(字幕或逐字稿)]&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Const-me/Whisper Const-me/Whisper: High-performance GPGPU inference of OpenAI&#039;s Whisper automatic speech recognition (ASR) model] on {{Win}}&lt;br /&gt;
* Language:&lt;br /&gt;
* Sample code:&lt;br /&gt;
* Related:&lt;br /&gt;
* Free limit:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
* [[Video to text]]&lt;br /&gt;
* [[Taiwanese Mandarin Text-to-Speech Services]]&lt;br /&gt;
* [[Troubleshooting of Google cloud speech to text]]&lt;br /&gt;
* [[Troubleshooting of Olami speech to text]]&lt;br /&gt;
* [[Troubleshooting of whisperX]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_whisperX&amp;diff=26452</id>
		<title>Troubleshooting of whisperX</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_whisperX&amp;diff=26452"/>
		<updated>2026-09-10T05:34:47Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* WhisperX Speaker Diarization Issue */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/m-bain/whisperX whisperX] is an enhanced version of OpenAI&#039;s Whisper, offering fast automatic speech recognition with word-level timestamps and speaker diarization. It uses the faster-whisper backend and can run the large-v2 model on less than 8GB of GPU memory. whisperX also includes voice activity detection (VAD) preprocessing, reducing hallucinations and supporting batch processing.&lt;br /&gt;
&lt;br /&gt;
== whisperX Troubleshooting Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Error: HF_TOKEN environment variable is not set ===&lt;br /&gt;
Problematic command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx input.mp3 --model large-v3 --language zh --diarize --batch_size 24 --no_align --chunk_size 10 --hf_token &amp;lt;token&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When running the bash command, you encounter the error:&lt;br /&gt;
&amp;lt;pre&amp;gt;Error: HF_TOKEN environment variable is not set&lt;br /&gt;
Please run: export HF_TOKEN=&#039;your Hugging Face token&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: &lt;br /&gt;
# Log in to Hugging Face – The AI community building the future. https://huggingface.co/settings/tokens to obtain an access token &lt;br /&gt;
# Return to terminal * Activate virtual environment by running &amp;lt;code&amp;gt;conda activate whisperx&amp;lt;/code&amp;gt; &lt;br /&gt;
# Enter &amp;lt;code&amp;gt;export HF_TOKEN=&#039;your Hugging Face token&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
# Run bash command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WhisperX Speaker Diarization Issue ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;: Speaker diarization failed on an interview transcript — over 500 segments were all labeled `SPEAKER_00`, even though it was clearly a two-person Q&amp;amp;A interview. The output looked like a single person talking.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
Installed the new whisperx 3.8.6 (torch 2.8 cu126) in a venv. Diarization automatically switched to use the new-generation `pyannote/speaker-diarization-community-1` model.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Version Info&#039;&#039;&#039;&lt;br /&gt;
Old environment: whisperX 3.1.1&lt;br /&gt;
&lt;br /&gt;
=== Repeated Same Dialog Issue ===&lt;br /&gt;
&lt;br /&gt;
Problematic command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whisperx input.wav --model large-v2 --diarize --highlight_words True&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whisperx input.mp3 --model large-v3 --language zh --diarize --batch_size 24 --no_align --chunk_size 10 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
When running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;$ whisperx input.mp3 --model large-v2 --diarize --highlight_words True&amp;lt;/pre&amp;gt;&lt;br /&gt;
You encounter a long error trace ending with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory&amp;lt;/pre&amp;gt;&lt;br /&gt;
This error indicates that the &amp;lt;code&amp;gt;libcudnn.so.9&amp;lt;/code&amp;gt; library is missing or not accessible in your system’s library path. This library is part of NVIDIA’s cuDNN (CUDA Deep Neural Network) package, which is essential for GPU-accelerated deep learning applications.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible Causes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;cuDNN Not Installed:&#039;&#039;&#039; The cuDNN library might not be installed on your system.&lt;br /&gt;
# &#039;&#039;&#039;Version Mismatch:&#039;&#039;&#039; The installed cuDNN version may not match the version required by your application.&lt;br /&gt;
# &#039;&#039;&#039;Library Path Issues:&#039;&#039;&#039; The system might not be able to locate the cuDNN library due to incorrect environment variables.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps to Resolve:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Verify cuDNN Installation:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Check if cuDNN is installed by listing the contents of the CUDA library directory:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;ls /usr/local/cuda/lib64 | grep libcudnn&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If the &amp;lt;code&amp;gt;libcudnn.so.9&amp;lt;/code&amp;gt; file is not present, proceed to install or update cuDNN.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Install or Update cuDNN:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download the appropriate cuDNN version compatible with your CUDA installation from NVIDIA’s [https://developer.nvidia.com/cudnn cuDNN download page].&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Operating System: Linux&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Architecture: x86_64 (&amp;lt;code&amp;gt;uname -a&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Distribution: Ubuntu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Version: 22_04 (&amp;lt;code&amp;gt;cat /etc/lsb-release&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Installer Type: deb (network)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;cuda version: 12 (&amp;lt;code&amp;gt;nvcc --version&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;sudo apt-get -y install cudnn-cuda-12&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the installation instructions provided by NVIDIA to install or update cuDNN.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation Instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;# Download and install CUDA keyring&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb&lt;br /&gt;
sudo dpkg -i cuda-keyring_1.1-1_all.deb&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
# Install cuDNN (choose one of the following based on your CUDA version)&lt;br /&gt;
# For CUDA 11:&lt;br /&gt;
sudo apt-get -y install cudnn-cuda-11&lt;br /&gt;
&lt;br /&gt;
# For CUDA 12:&lt;br /&gt;
sudo apt-get -y install cudnn-cuda-12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Set Environment Variables:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ensure that the CUDA and cuDNN libraries are included in your system’s library path.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Add the following lines to your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/.zshrc&amp;lt;/code&amp;gt; file:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH&lt;br /&gt;
export PATH=/usr/local/cuda/bin:$PATH&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Apply the changes by sourcing the file:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;source ~/.bashrc&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;This step ensures that the system can locate the CUDA and cuDNN libraries during execution.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Verify Installation:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After installation, verify that the system recognizes the cuDNN version:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;python -c &amp;quot;import torch; print(torch.backends.cudnn.version())&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;This command should display the installed cuDNN version, confirming that PyTorch can access it.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Additional Considerations:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Compatibility:&#039;&#039;&#039; Ensure that the versions of CUDA, cuDNN, and PyTorch are compatible with each other. Refer to the [https://pytorch.org/get-started/previous-versions/ PyTorch documentation] for version compatibility details.&lt;br /&gt;
* &#039;&#039;&#039;Virtual Environments:&#039;&#039;&#039; If you’re using a virtual environment, make sure it has access to the system’s CUDA and cuDNN installations. You might need to install CUDA and cuDNN within the virtual environment or ensure that the environment variables are correctly set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WhisperX Audio Transcription Commands for Multiple Languages ===&lt;br /&gt;
Standard Command: English transcription output&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --language en \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change output to Thai, modify the following parameters:&lt;br /&gt;
&lt;br /&gt;
Method 1: Set language to Thai {{kbd | key=&amp;lt;nowiki&amp;gt;--language th&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --language th \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method 2: Auto-detect language (remove the {{kbd | key=&amp;lt;nowiki&amp;gt;--language&amp;lt;/nowiki&amp;gt;}} parameter)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common Language Code Reference:&lt;br /&gt;
# th = Thai&lt;br /&gt;
# zh = Chinese&lt;br /&gt;
# en = English&lt;br /&gt;
# ja = Japanese&lt;br /&gt;
# ko = Korean&lt;br /&gt;
# es = Spanish&lt;br /&gt;
# fr = French&lt;br /&gt;
&lt;br /&gt;
Supported language codes can be found in the [https://github.com/openai/whisper/blob/main/whisper/tokenizer.py Whisper tokenizer documentation] &amp;amp; [https://github.com/m-bain/whisperX/blob/main/EXAMPLES.md whisperX/EXAMPLES.md at main · m-bain/whisperX]&lt;br /&gt;
&lt;br /&gt;
== whisperX Transcript File Format Guide ==&lt;br /&gt;
&lt;br /&gt;
Transcripts come in different file formats:&lt;br /&gt;
# txt - all content combined together&lt;br /&gt;
# srt, vtt - different subtitle formats: distinguished by time, speaker, and speech content&lt;br /&gt;
# tsv - distinguished by time and speech content&lt;br /&gt;
# json - distinguished by time, speaker, and speech content, suitable for programming processing&lt;br /&gt;
&lt;br /&gt;
If using for the first time, it&#039;s recommended to directly open the srt format&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
* [https://medium.com/@planetoid/how-to-add-punctuation-to-whisper-transcripts-using-ai-619362c9160c How to Add Punctuation to Whisper Transcripts Using AI | Medium]&lt;br /&gt;
&lt;br /&gt;
[[Category: Generative AI]] [[Category: Software]] [[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_whisperX&amp;diff=26451</id>
		<title>Troubleshooting of whisperX</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_whisperX&amp;diff=26451"/>
		<updated>2026-09-10T02:22:42Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Error: HF_TOKEN environment variable is not set */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[https://github.com/m-bain/whisperX whisperX] is an enhanced version of OpenAI&#039;s Whisper, offering fast automatic speech recognition with word-level timestamps and speaker diarization. It uses the faster-whisper backend and can run the large-v2 model on less than 8GB of GPU memory. whisperX also includes voice activity detection (VAD) preprocessing, reducing hallucinations and supporting batch processing.&lt;br /&gt;
&lt;br /&gt;
== whisperX Troubleshooting Guide ==&lt;br /&gt;
&lt;br /&gt;
=== Error: HF_TOKEN environment variable is not set ===&lt;br /&gt;
Problematic command:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx input.mp3 --model large-v3 --language zh --diarize --batch_size 24 --no_align --chunk_size 10 --hf_token &amp;lt;token&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
When running the bash command, you encounter the error:&lt;br /&gt;
&amp;lt;pre&amp;gt;Error: HF_TOKEN environment variable is not set&lt;br /&gt;
Please run: export HF_TOKEN=&#039;your Hugging Face token&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Solution: &lt;br /&gt;
# Log in to Hugging Face – The AI community building the future. https://huggingface.co/settings/tokens to obtain an access token &lt;br /&gt;
# Return to terminal * Activate virtual environment by running &amp;lt;code&amp;gt;conda activate whisperx&amp;lt;/code&amp;gt; &lt;br /&gt;
# Enter &amp;lt;code&amp;gt;export HF_TOKEN=&#039;your Hugging Face token&#039;&amp;lt;/code&amp;gt; &lt;br /&gt;
# Run bash command&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WhisperX Speaker Diarization Issue ===&lt;br /&gt;
&lt;br /&gt;
Problem: Speaker diarization failed on an interview transcript — over 500 segments were all labeled `SPEAKER_00`, even though it was clearly a two-person Q&amp;amp;A interview. The output looked like a single person talking.&lt;br /&gt;
&lt;br /&gt;
Solution&lt;br /&gt;
Installed the new whisperx 3.8.6 (torch 2.8 cu126) in a venv. Diarization automatically switched to use the new-generation `pyannote/speaker-diarization-community-1` model.&lt;br /&gt;
&lt;br /&gt;
Version Info&lt;br /&gt;
Old environment: whisperX 3.1.1&lt;br /&gt;
&lt;br /&gt;
=== Repeated Same Dialog Issue ===&lt;br /&gt;
&lt;br /&gt;
Problematic command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whisperx input.wav --model large-v2 --diarize --highlight_words True&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fixed command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;whisperx input.mp3 --model large-v3 --language zh --diarize --batch_size 24 --no_align --chunk_size 10 &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory ===&lt;br /&gt;
&lt;br /&gt;
When running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;$ whisperx input.mp3 --model large-v2 --diarize --highlight_words True&amp;lt;/pre&amp;gt;&lt;br /&gt;
You encounter a long error trace ending with:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;ImportError: libcudnn.so.9: cannot open shared object file: No such file or directory&amp;lt;/pre&amp;gt;&lt;br /&gt;
This error indicates that the &amp;lt;code&amp;gt;libcudnn.so.9&amp;lt;/code&amp;gt; library is missing or not accessible in your system’s library path. This library is part of NVIDIA’s cuDNN (CUDA Deep Neural Network) package, which is essential for GPU-accelerated deep learning applications.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Possible Causes:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;cuDNN Not Installed:&#039;&#039;&#039; The cuDNN library might not be installed on your system.&lt;br /&gt;
# &#039;&#039;&#039;Version Mismatch:&#039;&#039;&#039; The installed cuDNN version may not match the version required by your application.&lt;br /&gt;
# &#039;&#039;&#039;Library Path Issues:&#039;&#039;&#039; The system might not be able to locate the cuDNN library due to incorrect environment variables.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Steps to Resolve:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;ol style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Verify cuDNN Installation:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Check if cuDNN is installed by listing the contents of the CUDA library directory:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;ls /usr/local/cuda/lib64 | grep libcudnn&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;If the &amp;lt;code&amp;gt;libcudnn.so.9&amp;lt;/code&amp;gt; file is not present, proceed to install or update cuDNN.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Install or Update cuDNN:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Download the appropriate cuDNN version compatible with your CUDA installation from NVIDIA’s [https://developer.nvidia.com/cudnn cuDNN download page].&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Operating System: Linux&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Architecture: x86_64 (&amp;lt;code&amp;gt;uname -a&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Distribution: Ubuntu&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Version: 22_04 (&amp;lt;code&amp;gt;cat /etc/lsb-release&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Installer Type: deb (network)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;cuda version: 12 (&amp;lt;code&amp;gt;nvcc --version&amp;lt;/code&amp;gt;)&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;code&amp;gt;sudo apt-get -y install cudnn-cuda-12&amp;lt;/code&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;Follow the installation instructions provided by NVIDIA to install or update cuDNN.&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation Instructions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;# Download and install CUDA keyring&lt;br /&gt;
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.1-1_all.deb&lt;br /&gt;
sudo dpkg -i cuda-keyring_1.1-1_all.deb&lt;br /&gt;
sudo apt-get update&lt;br /&gt;
&lt;br /&gt;
# Install cuDNN (choose one of the following based on your CUDA version)&lt;br /&gt;
# For CUDA 11:&lt;br /&gt;
sudo apt-get -y install cudnn-cuda-11&lt;br /&gt;
&lt;br /&gt;
# For CUDA 12:&lt;br /&gt;
sudo apt-get -y install cudnn-cuda-12&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;ol start=&amp;quot;3&amp;quot; style=&amp;quot;list-style-type: decimal;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Set Environment Variables:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Ensure that the CUDA and cuDNN libraries are included in your system’s library path.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Add the following lines to your &amp;lt;code&amp;gt;~/.bashrc&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;~/.zshrc&amp;lt;/code&amp;gt; file:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH&lt;br /&gt;
export PATH=/usr/local/cuda/bin:$PATH&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;Apply the changes by sourcing the file:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;source ~/.bashrc&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;This step ensures that the system can locate the CUDA and cuDNN libraries during execution.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&#039;&#039;&#039;Verify Installation:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;After installation, verify that the system recognizes the cuDNN version:&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;pre lang=&amp;quot;bash&amp;quot;&amp;gt;python -c &amp;quot;import torch; print(torch.backends.cudnn.version())&amp;quot;&amp;lt;/pre&amp;gt;&amp;lt;/li&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;&amp;lt;p&amp;gt;This command should display the installed cuDNN version, confirming that PyTorch can access it.&amp;lt;/p&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/li&amp;gt;&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Additional Considerations:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Compatibility:&#039;&#039;&#039; Ensure that the versions of CUDA, cuDNN, and PyTorch are compatible with each other. Refer to the [https://pytorch.org/get-started/previous-versions/ PyTorch documentation] for version compatibility details.&lt;br /&gt;
* &#039;&#039;&#039;Virtual Environments:&#039;&#039;&#039; If you’re using a virtual environment, make sure it has access to the system’s CUDA and cuDNN installations. You might need to install CUDA and cuDNN within the virtual environment or ensure that the environment variables are correctly set.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== WhisperX Audio Transcription Commands for Multiple Languages ===&lt;br /&gt;
Standard Command: English transcription output&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --language en \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To change output to Thai, modify the following parameters:&lt;br /&gt;
&lt;br /&gt;
Method 1: Set language to Thai {{kbd | key=&amp;lt;nowiki&amp;gt;--language th&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --language th \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Method 2: Auto-detect language (remove the {{kbd | key=&amp;lt;nowiki&amp;gt;--language&amp;lt;/nowiki&amp;gt;}} parameter)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
whisperx /path/to/audio/file.wav \&lt;br /&gt;
        --model large-v3 \&lt;br /&gt;
        --diarize \&lt;br /&gt;
        --batch_size 24 \&lt;br /&gt;
        --no_align \&lt;br /&gt;
        --chunk_size 10 \&lt;br /&gt;
        --hf_token your_huggingface_token \&lt;br /&gt;
        --output_dir /path/to/output/directory \&lt;br /&gt;
        --output_format all&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Common Language Code Reference:&lt;br /&gt;
# th = Thai&lt;br /&gt;
# zh = Chinese&lt;br /&gt;
# en = English&lt;br /&gt;
# ja = Japanese&lt;br /&gt;
# ko = Korean&lt;br /&gt;
# es = Spanish&lt;br /&gt;
# fr = French&lt;br /&gt;
&lt;br /&gt;
Supported language codes can be found in the [https://github.com/openai/whisper/blob/main/whisper/tokenizer.py Whisper tokenizer documentation] &amp;amp; [https://github.com/m-bain/whisperX/blob/main/EXAMPLES.md whisperX/EXAMPLES.md at main · m-bain/whisperX]&lt;br /&gt;
&lt;br /&gt;
== whisperX Transcript File Format Guide ==&lt;br /&gt;
&lt;br /&gt;
Transcripts come in different file formats:&lt;br /&gt;
# txt - all content combined together&lt;br /&gt;
# srt, vtt - different subtitle formats: distinguished by time, speaker, and speech content&lt;br /&gt;
# tsv - distinguished by time and speech content&lt;br /&gt;
# json - distinguished by time, speaker, and speech content, suitable for programming processing&lt;br /&gt;
&lt;br /&gt;
If using for the first time, it&#039;s recommended to directly open the srt format&lt;br /&gt;
&lt;br /&gt;
== Further reading ==&lt;br /&gt;
* [https://medium.com/@planetoid/how-to-add-punctuation-to-whisper-transcripts-using-ai-619362c9160c How to Add Punctuation to Whisper Transcripts Using AI | Medium]&lt;br /&gt;
&lt;br /&gt;
[[Category: Generative AI]] [[Category: Software]] [[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26449</id>
		<title>Anomaly detection</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26449"/>
		<updated>2026-09-06T08:10:42Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Outlier / Anomaly detection&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of numeric data ==&lt;br /&gt;
* Median&lt;br /&gt;
* Range Checks&lt;br /&gt;
* All values is event or odd&lt;br /&gt;
* The values are the same even the column is totally different&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of categorical data (qualitative variable) ==&lt;br /&gt;
* Normal distribution e.g. The interest of audiences should be very different NOT coherent&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for time series data ==&lt;br /&gt;
* Trend: For example, holiday and seasonal factors typically drive consistent, predictable shopping behavior, but an unexpected shift in product category suddenly occurs&lt;br /&gt;
* Dramatic increase or decrease in row count for each time period&lt;br /&gt;
** Example: A regularly scheduled web scraper that normally collects 9k records per week suddenly drops to 3k records&lt;br /&gt;
* Future data: Data timestamps fall outside (after) the expected time range&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for consumer data ==&lt;br /&gt;
For consumer data&lt;br /&gt;
&lt;br /&gt;
* Season issue: consumption data of coat should increase in cold weather&lt;br /&gt;
* Holiday issue: consumption data of some gift e.g. moon cake should increase in special holiday e.g. Mid-Autumn Festival&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for string data ==&lt;br /&gt;
&lt;br /&gt;
* Created time of the text message&lt;br /&gt;
* Time frequency of the text message&lt;br /&gt;
* Length of the text message&lt;br /&gt;
* NULL or empty value&lt;br /&gt;
* Minor differences of text content&amp;lt;ref&amp;gt;[https://medium.com/@ahmetmnirkocaman/how-to-measure-text-similarity-a-comprehensive-guide-6c6f24fc01fe How to Measure Text Similarity: A Comprehensive Guide | by Ahmet Münir Kocaman | Medium]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Character encoding e.g. [[Fix garbled message text]]&lt;br /&gt;
&lt;br /&gt;
More on: [https://en.wikipedia.org/wiki/Outlier#Identifying_outliers Outlier - Wikipedia]&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
# [https://www.amazon.com/Bad-Data-Handbook-Cleaning-Back-ebook/dp/B00A3IGAIA Amazon.com: Bad Data Handbook: Cleaning Up The Data So You Can Get Back To Work eBook : McCallum, Q. Ethan: Kindle Store] (ISBN: 9781449324964)&lt;br /&gt;
# [https://www.oreilly.com/library/view/bad-data-ji-shu-shou-ce/9789862768952/ Bad Data 技術手冊 [Book]] (ISBN: 9789862768952)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Data hygiene]]&lt;br /&gt;
[[Category: Data Science]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26448</id>
		<title>Anomaly detection</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26448"/>
		<updated>2026-09-06T08:06:27Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Anomaly detection for time series data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Outlier / Anomaly detection&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of numeric data ==&lt;br /&gt;
* Median&lt;br /&gt;
* Range Checks&lt;br /&gt;
* All values is event or odd&lt;br /&gt;
* The values are the same even the column is totally different&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of categorical data (qualitative variable) ==&lt;br /&gt;
* Normal distribution e.g. The interest of audiences should be very different NOT coherent&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for time series data ==&lt;br /&gt;
* Trend: For example, holiday and seasonal factors typically drive consistent, predictable shopping behavior, but an unexpected shift in product category suddenly occurs&lt;br /&gt;
* Dramatic increase or decrease in row count for each time period&lt;br /&gt;
** Example: A regularly scheduled web scraper that normally collects 9k records per week suddenly drops to 3k records&lt;br /&gt;
* Future data: Data timestamps fall outside (after) the expected time range&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for consumer data ==&lt;br /&gt;
For consumer data&lt;br /&gt;
&lt;br /&gt;
* Season issue: consumption data of coat should increase in cold weather&lt;br /&gt;
* Holiday issue: consumption data of some gift e.g. moon cake should increase in special holiday e.g. Mid-Autumn Festival&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for string data ==&lt;br /&gt;
&lt;br /&gt;
* Created time of the text message&lt;br /&gt;
* Time frequency of the text message&lt;br /&gt;
* Length of the text message&lt;br /&gt;
* NULL or empty value&lt;br /&gt;
* Minor differences of text content&amp;lt;ref&amp;gt;[https://medium.com/@ahmetmnirkocaman/how-to-measure-text-similarity-a-comprehensive-guide-6c6f24fc01fe How to Measure Text Similarity: A Comprehensive Guide | by Ahmet Münir Kocaman | Medium]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Character encoding e.g. [[Fix garbled message text]]&lt;br /&gt;
&lt;br /&gt;
More on: [https://en.wikipedia.org/wiki/Outlier#Identifying_outliers Outlier - Wikipedia]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Data hygiene]]&lt;br /&gt;
[[Category: Data Science]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26447</id>
		<title>Anomaly detection</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Anomaly_detection&amp;diff=26447"/>
		<updated>2026-09-05T20:26:44Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Anomaly detection for time series data */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Outlier / Anomaly detection&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of numeric data ==&lt;br /&gt;
* Median&lt;br /&gt;
* Range Checks&lt;br /&gt;
* All values is event or odd&lt;br /&gt;
* The values are the same even the column is totally different&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection of categorical data (qualitative variable) ==&lt;br /&gt;
* Normal distribution e.g. The interest of audiences should be very different NOT coherent&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for time series data ==&lt;br /&gt;
* Trend&lt;br /&gt;
* Dramatically Increase or decrease of rows count for each time period&lt;br /&gt;
** Example: Regularly scheduled web scraping that collects 9k records per week suddenly drops to 3k records&lt;br /&gt;
* Future data&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for consumer data ==&lt;br /&gt;
For consumer data&lt;br /&gt;
&lt;br /&gt;
* Season issue: consumption data of coat should increase in cold weather&lt;br /&gt;
* Holiday issue: consumption data of some gift e.g. moon cake should increase in special holiday e.g. Mid-Autumn Festival&lt;br /&gt;
&lt;br /&gt;
== Anomaly detection for string data ==&lt;br /&gt;
&lt;br /&gt;
* Created time of the text message&lt;br /&gt;
* Time frequency of the text message&lt;br /&gt;
* Length of the text message&lt;br /&gt;
* NULL or empty value&lt;br /&gt;
* Minor differences of text content&amp;lt;ref&amp;gt;[https://medium.com/@ahmetmnirkocaman/how-to-measure-text-similarity-a-comprehensive-guide-6c6f24fc01fe How to Measure Text Similarity: A Comprehensive Guide | by Ahmet Münir Kocaman | Medium]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* Character encoding e.g. [[Fix garbled message text]]&lt;br /&gt;
&lt;br /&gt;
More on: [https://en.wikipedia.org/wiki/Outlier#Identifying_outliers Outlier - Wikipedia]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Data hygiene]]&lt;br /&gt;
[[Category: Data Science]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26446</id>
		<title>Convert public facebook pages to rss feeds</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26446"/>
		<updated>2026-09-03T05:53:26Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Convert public facebook pages to rss feeds&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.inoreader.com/ inoreader] more on [https://www.inoreader.com/blog/2018/06/how-to-convert-public-facebook-pages-to-rss-feeds.html How to Convert Public Facebook Pages to RSS Feeds? | Inoreader blog]&lt;br /&gt;
** Feed 數量：30 per service&lt;br /&gt;
** 費用：專業版 $5.83鎂/月&lt;br /&gt;
** 公開：可以指定資料夾為公開 Feed 網址。&lt;br /&gt;
** 備註：試用時需要提供自己臉書帳號公開 profile 授權。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://bazqux.com/ bazqux]&lt;br /&gt;
** 費用：&amp;quot;You can pay $30 or $50 an­nu­ally, or $249 for a life­time sub­scrip­tion.&amp;quot; [https://bazqux.com/faq]&lt;br /&gt;
** 公開：沒看到針對個別來源或資料夾的 公開 Feed 網址，總數量似乎沒有限制，每個 Feed 有 500 篇文章限制。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* [https://rss.app/ RSS Feed Generator, Create RSS feeds from URL] {{access | date=2026-09-03}}&lt;br /&gt;
** 費用：免費 2 RSS feeds、或付費基本 (Basic) 方案 15 RSS Feeds，$8.32 鎂/月&amp;lt;ref&amp;gt;https://rss.app/r/plans&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：試用時有提供公開 Feed 網址。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* {{Gd}} [http://fetchrss.com/ RSS Generator - FetchRSS] {{access | date=2026-09-03}}&lt;br /&gt;
** 費用：免費 5 RSS feeds、或付費基本 (Basic) 方案：25 RSS Feeds，$4.95 鎂/月&amp;lt;ref&amp;gt;https://fetchrss.com/prices&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：有提供公開 Feed 網址。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RSS]] [[Category:PKM]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26445</id>
		<title>Convert public facebook pages to rss feeds</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26445"/>
		<updated>2026-09-03T05:51:33Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Convert public facebook pages to rss feeds&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.inoreader.com/ inoreader] more on [https://www.inoreader.com/blog/2018/06/how-to-convert-public-facebook-pages-to-rss-feeds.html How to Convert Public Facebook Pages to RSS Feeds? | Inoreader blog]&lt;br /&gt;
** Feed 數量：30 per service&lt;br /&gt;
** 費用：專業版 $5.83鎂/月&lt;br /&gt;
** 公開：可以指定資料夾為公開 Feed 網址。&lt;br /&gt;
** 備註：試用時需要提供自己臉書帳號公開 profile 授權。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://bazqux.com/ bazqux]&lt;br /&gt;
** 費用：&amp;quot;You can pay $30 or $50 an­nu­ally, or $249 for a life­time sub­scrip­tion.&amp;quot; [https://bazqux.com/faq]&lt;br /&gt;
** 公開：沒看到針對個別來源或資料夾的 公開 Feed 網址，總數量似乎沒有限制，每個 Feed 有 500 篇文章限制。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* [https://rss.app/ RSS Feed Generator, Create RSS feeds from URL]&lt;br /&gt;
** 費用：免費 2 RSS feeds、或付費基本 (Basic) 方案 15 RSS Feeds，$8.32 鎂/月&amp;lt;ref&amp;gt;https://rss.app/r/plans&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：試用時有提供公開 Feed 網址，可以把資料轉到別的地方。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* {{Gd}} [http://fetchrss.com/ RSS Generator - FetchRSS] &lt;br /&gt;
** 費用：免費 5 RSS feeds、或付費基本 (Basic) 方案：25 RSS Feeds，$4.95 鎂/月&amp;lt;ref&amp;gt;https://fetchrss.com/prices&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RSS]] [[Category:PKM]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26444</id>
		<title>Convert public facebook pages to rss feeds</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26444"/>
		<updated>2026-09-03T05:49:46Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Available&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.inoreader.com/ inoreader] more on [https://www.inoreader.com/blog/2018/06/how-to-convert-public-facebook-pages-to-rss-feeds.html How to Convert Public Facebook Pages to RSS Feeds? | Inoreader blog]&lt;br /&gt;
** Feed 數量：30 per service&lt;br /&gt;
** 費用：專業版 $5.83鎂/月&lt;br /&gt;
** 公開：可以指定資料夾為公開 Feed 網址。&lt;br /&gt;
** 備註：試用時需要提供自己臉書帳號公開 profile 授權。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://bazqux.com/ bazqux]&lt;br /&gt;
** 費用：&amp;quot;You can pay $30 or $50 an­nu­ally, or $249 for a life­time sub­scrip­tion.&amp;quot; [https://bazqux.com/faq]&lt;br /&gt;
** 公開：沒看到針對個別來源或資料夾的 公開 Feed 網址，總數量似乎沒有限制，每個 Feed 有 500 篇文章限制。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* [https://rss.app/ RSS Feed Generator, Create RSS feeds from URL]&lt;br /&gt;
** 費用：免費 2 RSS feeds、或付費基本 (Basic) 方案 15 RSS Feeds，$8.32 鎂/月&amp;lt;ref&amp;gt;https://rss.app/r/plans&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：試用時有提供公開 Feed 網址，可以把資料轉到別的地方。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* {{Gd}} [http://fetchrss.com/ RSS Generator - FetchRSS] &lt;br /&gt;
** 費用：免費 5 RSS feeds、或付費基本 (Basic) 方案：25 RSS Feeds，$4.95 鎂/月&amp;lt;ref&amp;gt;https://fetchrss.com/prices&amp;lt;/ref&amp;gt;&lt;br /&gt;
** 公開：&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
Not available&lt;br /&gt;
* [https://feedly.com/ Feedly] not available 8/13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RSS]] [[Category:PKM]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26443</id>
		<title>Convert public facebook pages to rss feeds</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Convert_public_facebook_pages_to_rss_feeds&amp;diff=26443"/>
		<updated>2026-09-03T05:16:14Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Available&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.inoreader.com/ inoreader] more on [https://www.inoreader.com/blog/2018/06/how-to-convert-public-facebook-pages-to-rss-feeds.html How to Convert Public Facebook Pages to RSS Feeds? | Inoreader blog]&lt;br /&gt;
** Feed 數量：30 per service&lt;br /&gt;
** 費用：專業版 $5.83鎂/月&lt;br /&gt;
** 公開：可以指定資料夾為公開 Feed 網址。&lt;br /&gt;
** 備註：試用時需要提供自己臉書帳號公開 profile 授權。&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://bazqux.com/ bazqux]&lt;br /&gt;
** 費用：&amp;quot;You can pay $30 or $50 an­nu­ally, or $249 for a life­time sub­scrip­tion.&amp;quot; [https://bazqux.com/faq]&lt;br /&gt;
** 公開：沒看到針對個別來源或資料夾的 公開 Feed 網址，總數量似乎沒有限制，每個 Feed 有 500 篇文章限制。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* [https://rss.app/ RSS Feed Generator, Create RSS feeds from URL]&lt;br /&gt;
** 費用：免費 2 RSS feeds、或付費 40 RSS Feeds，$8.32 鎂/月&lt;br /&gt;
** 公開：試用時有提供公開 Feed 網址，可以把資料轉到別的地方。&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
* [http://fetchrss.com/ RSS Generator - FetchRSS] &lt;br /&gt;
** 費用：25 RSS Feeds，$4.95 鎂/月&lt;br /&gt;
** 公開：&lt;br /&gt;
** 備註：&lt;br /&gt;
&lt;br /&gt;
Not available&lt;br /&gt;
* [https://feedly.com/ Feedly] not available 8/13&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:RSS]] [[Category:PKM]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26442</id>
		<title>Generative AI glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26442"/>
		<updated>2026-09-02T07:21:55Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* R */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;生成式 AI（Generative AI, GAI）相關詞彙&lt;br /&gt;
&lt;br /&gt;
{{Template:Draft}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
* APA 代理自動化 (Agentic Process Automation) 「是一種利用大型語言模型（LLM）代理進行高級自動化的新範式。傳統的機器人流程自動化（RPA）在處理需要人類智慧的任務時存在局限性，特別是在工作流程建立和動態決策方面。APA利用LLM代理來建立和執行工作流程，從而減少人類勞動。例如，ProAgent 是一個基於LLM的代理，能夠根據人類指令建立工作流程並進行複雜決策。APA技術與工具學習、流程挖掘等領域有關，並且對自動化偏見和人類勞動的意義具有潛力和機會。」來源：[https://arxiv.org/abs/2311.10751 [2311.10751] ProAgent: From Robotic Process Automation to Agentic Process Automation])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
* Generative AI (GenAI, 生成式人工智慧)：「是一種人工智慧系統，能夠產生文字、圖像或其他媒體以回應提示工程，比如 ChatGPT。產生模型學習輸入數據的模式和結構，然後產生與訓練數據相似但具有一定程度新穎性的新內容，而不僅僅是分類或預測數據。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E7%94%9F%E6%88%90%E5%BC%8F%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7 維基百科])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
* Hallucinate (機器幻覺)：「廣泛使用來指稱ChatGPT 等所犯的系統錯誤，展示了我們對待和擬人化人工智慧的思考方式。然而，不準確或誤導性資訊長期以來一直存在於我們身邊，無論是謠言、宣傳還是『假新聞』的形式。」(Henry Shevlin)&amp;lt;ref&amp;gt;[https://dq.yam.com/post/15833  「真真假假，假假真真的AI時代」劍橋詞典2023年度代表字：Hallucinate | DQ 地球圖輯隊]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
* Pretraining (預訓練)：「在機器學習模型正式針對特定任務進行微調之前，先以大規模、通用型資料集進行初始訓練的過程。」(moveworks, n.d.&amp;lt;ref&amp;gt;[https://www.moveworks.com/us/en/resources/ai-terms-glossary/pre-training What is Pre-Training?]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.databricks.com/blog/llm-pre-training-and-custom-llms Understanding LLM Pre-Training and Custom LLMs | Databricks Blog]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* prompt engineering (提示工程)：「提示工程」是反覆迭代的過程，透過撰寫提示詞 (prompt) 並評估模型的生成結果，來獲得您想要的結果。寫結構良好的提示是確保大型語言模型提供準確、高品質的關鍵。以下是幾種可用於最佳化生成結果的常見技巧：(1) 零樣本提示（Zero-shot prompting）：在不提供任何範例的情況下提示詞，完全依賴模型既有的知識。(2) 單一樣本提示（One-shot prompting）：在提示詞中提供一個範例，引導模型的回覆方向。(3) 少數樣本提示（Few-shot prompting）：在提示詞中提供多個範例，以符合您要求的模式或任務。」(Google, n.d.&amp;lt;ref&amp;gt;[https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E7%99%BD%E8%A9%B1%E9%80%9A%E4%BF%97%E8%A7%A3%E9%87%8B-zero-shot-one-shot-few-shot-learning-68c56eca12ae 白話通俗解釋 zero-shot, one-shot, few-shot learning]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
* RAG (Retrieval-augmented generation，檢索增強生成)：「檢索增強生成（英語：Retrieval-augmented generation，RAG）是一種使大語言模型（LLM）能夠從外部資料來源中檢索並整合新資訊的技術。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E6%AA%A2%E7%B4%A2%E5%A2%9E%E5%BC%B7%E7%94%9F%E6%88%90 維基百科])&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E4%B8%80%E7%AF%87%E5%81%87%E6%96%87%E7%AB%A0-%E8%AE%93-google-%E5%92%8C-chatgpt-%E4%BF%A1%E4%BB%A5%E7%82%BA%E7%9C%9F-e3f7653dd6fc 一篇假文章，讓 Google 和 ChatGPT 信以為真]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reverse Alignment（反向對齊）在 AI 學界並不是單一定義的標準術語；在 AI 倫理與社會技術研究中，Harrison（2026）指出 &amp;lt;ref&amp;gt;Harrison, D. J. (2026). The message hidden within the pattern: A reverse alignment problem for debates in artificial intelligence. AI &amp;amp; Society, 41(7), 6335–6356. https://doi.org/10.1007/s00146-026-03043-4 &amp;lt;/ref&amp;gt;，傳統 AI Alignment（AI 對齊）著重讓 AI 的行為符合人類價值與意圖；但另一種可能是，人反過來為了配合 AI，而逐漸改變自己的價值、偏好與行為，使其更容易被機器辨識、預測與滿足，亦即讓人變得更「machine-like（機器化）」。此概念與 sociotechnical alignment（社會技術對齊，指同時考量 AI、人、組織與制度之間的整體對齊）、Value Capture（價值捕獲，指複雜的人類價值被簡化成可量化指標，並反過來影響人的判斷），以及 proxy optimization（代理指標最佳化，指系統以可測量指標代替真正目標進行最佳化）等研究密切相關；另在部分 LLM（大型語言模型）安全研究 &amp;lt;ref&amp;gt;Yi, J., Xie, Y., Zhu, B., Hines, K., Kiciman, E., Sun, G., Xie, X., &amp;amp; Wu, F. (2024). On the vulnerability of safety alignment in open-access LLMs. In Findings of the Association for Computational Linguistics: ACL 2024. Association for Computational Linguistics.&amp;lt;/ref&amp;gt; 中，reverse alignment 也被用來指讓原本經過安全訓練、會拒絕危險要求的模型，重新傾向產生有害內容，因此使用時應依研究脈絡區分。 {{exclaim}} Revised by LLM&lt;br /&gt;
&lt;br /&gt;
相關文章&lt;br /&gt;
* [https://archive.tw/2026-08-29-platform-originals-%E5%B0%8D%E9%BD%8A%E7%9A%84%E5%8F%A6%E4%B8%80%E9%9D%A2 2026-08-29 Platform Originals：對齊的另一面 — SayIt]&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
* AI Sycophancy（AI 諂媚）：「模型在預訓練階段即呈現出迎合使用者立場的傾向，而『基於人類回饋的強化學習』(Reinforcement Learning from Human Feedback, RLHF) 可能進一步放大此行為。由於偏好模型往往將『與使用者觀點一致』視為高品質回應，模型因此更可能選擇迎合而非糾正，即使使用者的立場並不正確。」(Sharma et al., 2025&amp;lt;ref&amp;gt;Sharma et al., &amp;quot;Towards Understanding Sycophancy in Language Models&amp;quot;, Anthropic — https://arxiv.org/abs/2310.13548&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://errerrors.blogspot.com/2026/01/google-ai-overviews-confirmation-bias.html Google AI 摘要的「迎合偏誤」問題：為什麼 AI 會說你想聽的話？]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
* Temperature 溫度：「溫度是自然語言處理模型中的參數，用於增加或減少模型對其最可能的反應的『信心』。較高的溫度使模型更有『創造性』，這在生成文章等方面可能很有用。較低的溫度使模型更加『自信』，這在回答問題等應用中很有用。」&amp;lt;ref&amp;gt;[https://lukesalamone.github.io/posts/what-is-temperature/ What is Temperature in NLP?🐭 :: Luke Salamone&#039;s Blog]&amp;lt;/ref&amp;gt; ([https://news.ycombinator.com/item?id=35131112 Discussion on Hacker News])&lt;br /&gt;
&lt;br /&gt;
== 延伸閱讀 ==&lt;br /&gt;
# [https://blog.hlb.im/generative-ai-openai-%E8%A9%9E%E5%BD%99%E5%B0%8D%E7%85%A7%E8%A1%A8-591d2a1f1612 Generative AI / OpenAI 詞彙對照表. 本篇文章提供 Generative AI 領域常用的詞彙對照表，內容翻譯自… | by Liang-Bin Hsueh aka hlb | Medium]&lt;br /&gt;
# [https://medium.com/@planetoid/a-plain-language-guide-to-llm-context-windows-and-tokens-2d79026f0e2e A Plain-Language Guide to LLM Context Windows and Tokens]&lt;br /&gt;
# [https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Glossary]]&lt;br /&gt;
[[Category: Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26441</id>
		<title>Generative AI glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26441"/>
		<updated>2026-09-02T07:21:01Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* R */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;生成式 AI（Generative AI, GAI）相關詞彙&lt;br /&gt;
&lt;br /&gt;
{{Template:Draft}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
* APA 代理自動化 (Agentic Process Automation) 「是一種利用大型語言模型（LLM）代理進行高級自動化的新範式。傳統的機器人流程自動化（RPA）在處理需要人類智慧的任務時存在局限性，特別是在工作流程建立和動態決策方面。APA利用LLM代理來建立和執行工作流程，從而減少人類勞動。例如，ProAgent 是一個基於LLM的代理，能夠根據人類指令建立工作流程並進行複雜決策。APA技術與工具學習、流程挖掘等領域有關，並且對自動化偏見和人類勞動的意義具有潛力和機會。」來源：[https://arxiv.org/abs/2311.10751 [2311.10751] ProAgent: From Robotic Process Automation to Agentic Process Automation])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
* Generative AI (GenAI, 生成式人工智慧)：「是一種人工智慧系統，能夠產生文字、圖像或其他媒體以回應提示工程，比如 ChatGPT。產生模型學習輸入數據的模式和結構，然後產生與訓練數據相似但具有一定程度新穎性的新內容，而不僅僅是分類或預測數據。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E7%94%9F%E6%88%90%E5%BC%8F%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7 維基百科])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
* Hallucinate (機器幻覺)：「廣泛使用來指稱ChatGPT 等所犯的系統錯誤，展示了我們對待和擬人化人工智慧的思考方式。然而，不準確或誤導性資訊長期以來一直存在於我們身邊，無論是謠言、宣傳還是『假新聞』的形式。」(Henry Shevlin)&amp;lt;ref&amp;gt;[https://dq.yam.com/post/15833  「真真假假，假假真真的AI時代」劍橋詞典2023年度代表字：Hallucinate | DQ 地球圖輯隊]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
* Pretraining (預訓練)：「在機器學習模型正式針對特定任務進行微調之前，先以大規模、通用型資料集進行初始訓練的過程。」(moveworks, n.d.&amp;lt;ref&amp;gt;[https://www.moveworks.com/us/en/resources/ai-terms-glossary/pre-training What is Pre-Training?]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.databricks.com/blog/llm-pre-training-and-custom-llms Understanding LLM Pre-Training and Custom LLMs | Databricks Blog]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* prompt engineering (提示工程)：「提示工程」是反覆迭代的過程，透過撰寫提示詞 (prompt) 並評估模型的生成結果，來獲得您想要的結果。寫結構良好的提示是確保大型語言模型提供準確、高品質的關鍵。以下是幾種可用於最佳化生成結果的常見技巧：(1) 零樣本提示（Zero-shot prompting）：在不提供任何範例的情況下提示詞，完全依賴模型既有的知識。(2) 單一樣本提示（One-shot prompting）：在提示詞中提供一個範例，引導模型的回覆方向。(3) 少數樣本提示（Few-shot prompting）：在提示詞中提供多個範例，以符合您要求的模式或任務。」(Google, n.d.&amp;lt;ref&amp;gt;[https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E7%99%BD%E8%A9%B1%E9%80%9A%E4%BF%97%E8%A7%A3%E9%87%8B-zero-shot-one-shot-few-shot-learning-68c56eca12ae 白話通俗解釋 zero-shot, one-shot, few-shot learning]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
* RAG (Retrieval-augmented generation，檢索增強生成)：「檢索增強生成（英語：Retrieval-augmented generation，RAG）是一種使大語言模型（LLM）能夠從外部資料來源中檢索並整合新資訊的技術。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E6%AA%A2%E7%B4%A2%E5%A2%9E%E5%BC%B7%E7%94%9F%E6%88%90 維基百科])&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E4%B8%80%E7%AF%87%E5%81%87%E6%96%87%E7%AB%A0-%E8%AE%93-google-%E5%92%8C-chatgpt-%E4%BF%A1%E4%BB%A5%E7%82%BA%E7%9C%9F-e3f7653dd6fc 一篇假文章，讓 Google 和 ChatGPT 信以為真]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reverse Alignment（反向對齊）在 AI 學界並不是單一定義的標準術語；在 AI 倫理與社會技術研究中，Harrison（2026）指出 &amp;lt;ref&amp;gt;Harrison, D. J. (2026). The message hidden within the pattern: A reverse alignment problem for debates in artificial intelligence. AI &amp;amp; Society, 41(7), 6335–6356. https://doi.org/10.1007/s00146-026-03043-4 &amp;lt;/ref&amp;gt;，傳統 AI Alignment（AI 對齊）著重讓 AI 的行為符合人類價值與意圖；但另一種可能是，人反過來為了配合 AI，而逐漸改變自己的價值、偏好與行為，使其更容易被機器辨識、預測與滿足，亦即讓人變得更「machine-like（機器化）」。此概念與 sociotechnical alignment（社會技術對齊，指同時考量 AI、人、組織與制度之間的整體對齊）、Value Capture（價值捕獲，指複雜的人類價值被簡化成可量化指標，並反過來影響人的判斷），以及 proxy optimization（代理指標最佳化，指系統以可測量指標代替真正目標進行最佳化）等研究密切相關；另在部分 LLM（大型語言模型）安全研究 &amp;lt;ref&amp;gt;Yi, J., Xie, Y., Zhu, B., Hines, K., Kiciman, E., Sun, G., Xie, X., &amp;amp; Wu, F. (2024). On the vulnerability of safety alignment in open-access LLMs. In Findings of the Association for Computational Linguistics: ACL 2024. Association for Computational Linguistics.&amp;lt;/ref&amp;gt; 中，reverse alignment 也被用來指讓原本經過安全訓練、會拒絕危險要求的模型，重新傾向產生有害內容，因此使用時應依研究脈絡區分。 {{exclaim}} Revised by LLM&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
* AI Sycophancy（AI 諂媚）：「模型在預訓練階段即呈現出迎合使用者立場的傾向，而『基於人類回饋的強化學習』(Reinforcement Learning from Human Feedback, RLHF) 可能進一步放大此行為。由於偏好模型往往將『與使用者觀點一致』視為高品質回應，模型因此更可能選擇迎合而非糾正，即使使用者的立場並不正確。」(Sharma et al., 2025&amp;lt;ref&amp;gt;Sharma et al., &amp;quot;Towards Understanding Sycophancy in Language Models&amp;quot;, Anthropic — https://arxiv.org/abs/2310.13548&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://errerrors.blogspot.com/2026/01/google-ai-overviews-confirmation-bias.html Google AI 摘要的「迎合偏誤」問題：為什麼 AI 會說你想聽的話？]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
* Temperature 溫度：「溫度是自然語言處理模型中的參數，用於增加或減少模型對其最可能的反應的『信心』。較高的溫度使模型更有『創造性』，這在生成文章等方面可能很有用。較低的溫度使模型更加『自信』，這在回答問題等應用中很有用。」&amp;lt;ref&amp;gt;[https://lukesalamone.github.io/posts/what-is-temperature/ What is Temperature in NLP?🐭 :: Luke Salamone&#039;s Blog]&amp;lt;/ref&amp;gt; ([https://news.ycombinator.com/item?id=35131112 Discussion on Hacker News])&lt;br /&gt;
&lt;br /&gt;
== 延伸閱讀 ==&lt;br /&gt;
# [https://blog.hlb.im/generative-ai-openai-%E8%A9%9E%E5%BD%99%E5%B0%8D%E7%85%A7%E8%A1%A8-591d2a1f1612 Generative AI / OpenAI 詞彙對照表. 本篇文章提供 Generative AI 領域常用的詞彙對照表，內容翻譯自… | by Liang-Bin Hsueh aka hlb | Medium]&lt;br /&gt;
# [https://medium.com/@planetoid/a-plain-language-guide-to-llm-context-windows-and-tokens-2d79026f0e2e A Plain-Language Guide to LLM Context Windows and Tokens]&lt;br /&gt;
# [https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Glossary]]&lt;br /&gt;
[[Category: Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26440</id>
		<title>Generative AI glossary</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Generative_AI_glossary&amp;diff=26440"/>
		<updated>2026-09-02T07:20:37Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* R */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;生成式 AI（Generative AI, GAI）相關詞彙&lt;br /&gt;
&lt;br /&gt;
{{Template:Draft}}&lt;br /&gt;
&lt;br /&gt;
== A ==&lt;br /&gt;
&lt;br /&gt;
* APA 代理自動化 (Agentic Process Automation) 「是一種利用大型語言模型（LLM）代理進行高級自動化的新範式。傳統的機器人流程自動化（RPA）在處理需要人類智慧的任務時存在局限性，特別是在工作流程建立和動態決策方面。APA利用LLM代理來建立和執行工作流程，從而減少人類勞動。例如，ProAgent 是一個基於LLM的代理，能夠根據人類指令建立工作流程並進行複雜決策。APA技術與工具學習、流程挖掘等領域有關，並且對自動化偏見和人類勞動的意義具有潛力和機會。」來源：[https://arxiv.org/abs/2311.10751 [2311.10751] ProAgent: From Robotic Process Automation to Agentic Process Automation])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== G ==&lt;br /&gt;
* Generative AI (GenAI, 生成式人工智慧)：「是一種人工智慧系統，能夠產生文字、圖像或其他媒體以回應提示工程，比如 ChatGPT。產生模型學習輸入數據的模式和結構，然後產生與訓練數據相似但具有一定程度新穎性的新內容，而不僅僅是分類或預測數據。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E7%94%9F%E6%88%90%E5%BC%8F%E4%BA%BA%E5%B7%A5%E6%99%BA%E6%85%A7 維基百科])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== H ==&lt;br /&gt;
* Hallucinate (機器幻覺)：「廣泛使用來指稱ChatGPT 等所犯的系統錯誤，展示了我們對待和擬人化人工智慧的思考方式。然而，不準確或誤導性資訊長期以來一直存在於我們身邊，無論是謠言、宣傳還是『假新聞』的形式。」(Henry Shevlin)&amp;lt;ref&amp;gt;[https://dq.yam.com/post/15833  「真真假假，假假真真的AI時代」劍橋詞典2023年度代表字：Hallucinate | DQ 地球圖輯隊]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== P ==&lt;br /&gt;
* Pretraining (預訓練)：「在機器學習模型正式針對特定任務進行微調之前，先以大規模、通用型資料集進行初始訓練的過程。」(moveworks, n.d.&amp;lt;ref&amp;gt;[https://www.moveworks.com/us/en/resources/ai-terms-glossary/pre-training What is Pre-Training?]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://www.databricks.com/blog/llm-pre-training-and-custom-llms Understanding LLM Pre-Training and Custom LLMs | Databricks Blog]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
* prompt engineering (提示工程)：「提示工程」是反覆迭代的過程，透過撰寫提示詞 (prompt) 並評估模型的生成結果，來獲得您想要的結果。寫結構良好的提示是確保大型語言模型提供準確、高品質的關鍵。以下是幾種可用於最佳化生成結果的常見技巧：(1) 零樣本提示（Zero-shot prompting）：在不提供任何範例的情況下提示詞，完全依賴模型既有的知識。(2) 單一樣本提示（One-shot prompting）：在提示詞中提供一個範例，引導模型的回覆方向。(3) 少數樣本提示（Few-shot prompting）：在提示詞中提供多個範例，以符合您要求的模式或任務。」(Google, n.d.&amp;lt;ref&amp;gt;[https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E7%99%BD%E8%A9%B1%E9%80%9A%E4%BF%97%E8%A7%A3%E9%87%8B-zero-shot-one-shot-few-shot-learning-68c56eca12ae 白話通俗解釋 zero-shot, one-shot, few-shot learning]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== R ==&lt;br /&gt;
* RAG (Retrieval-augmented generation，檢索增強生成)：「檢索增強生成（英語：Retrieval-augmented generation，RAG）是一種使大語言模型（LLM）能夠從外部資料來源中檢索並整合新資訊的技術。」(資料來源：[https://zh.wikipedia.org/zh-tw/%E6%AA%A2%E7%B4%A2%E5%A2%9E%E5%BC%B7%E7%94%9F%E6%88%90 維基百科])&amp;lt;ref&amp;gt;[https://medium.com/@planetoid/%E4%B8%80%E7%AF%87%E5%81%87%E6%96%87%E7%AB%A0-%E8%AE%93-google-%E5%92%8C-chatgpt-%E4%BF%A1%E4%BB%A5%E7%82%BA%E7%9C%9F-e3f7653dd6fc 一篇假文章，讓 Google 和 ChatGPT 信以為真]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Reverse Alignment（反向對齊）在 AI 學界並不是單一定義的標準術語；在 AI 倫理與社會技術研究中，Harrison（2026）指出 &amp;lt;ref&amp;gt;Harrison, D. J. (2026). The message hidden within the pattern: A reverse alignment problem for debates in artificial intelligence. AI &amp;amp; Society, 41(7), 6335–6356. https://doi.org/10.1007/s00146-026-03043-4 &amp;lt;/ref&amp;gt;，傳統 AI Alignment（AI 對齊）著重讓 AI 的行為符合人類價值與意圖；但另一種可能是，人反過來為了配合 AI，而逐漸改變自己的價值、偏好與行為，使其更容易被機器辨識、預測與滿足，亦即讓人變得更「machine-like（機器化）」。此概念與 sociotechnical alignment（社會技術對齊，指同時考量 AI、人、組織與制度之間的整體對齊）、**Value Capture（價值捕獲，指複雜的人類價值被簡化成可量化指標，並反過來影響人的判斷），以及 proxy optimization（代理指標最佳化，指系統以可測量指標代替真正目標進行最佳化）等研究密切相關；另在部分 LLM（大型語言模型）安全研究 &amp;lt;ref&amp;gt;Yi, J., Xie, Y., Zhu, B., Hines, K., Kiciman, E., Sun, G., Xie, X., &amp;amp; Wu, F. (2024). On the vulnerability of safety alignment in open-access LLMs. In Findings of the Association for Computational Linguistics: ACL 2024. Association for Computational Linguistics.&amp;lt;/ref&amp;gt; 中，reverse alignment 也被用來指讓原本經過安全訓練、會拒絕危險要求的模型，重新傾向產生有害內容，因此使用時應依研究脈絡區分。 {{exclaim}} Revised by LLM&lt;br /&gt;
&lt;br /&gt;
== S ==&lt;br /&gt;
* AI Sycophancy（AI 諂媚）：「模型在預訓練階段即呈現出迎合使用者立場的傾向，而『基於人類回饋的強化學習』(Reinforcement Learning from Human Feedback, RLHF) 可能進一步放大此行為。由於偏好模型往往將『與使用者觀點一致』視為高品質回應，模型因此更可能選擇迎合而非糾正，即使使用者的立場並不正確。」(Sharma et al., 2025&amp;lt;ref&amp;gt;Sharma et al., &amp;quot;Towards Understanding Sycophancy in Language Models&amp;quot;, Anthropic — https://arxiv.org/abs/2310.13548&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://errerrors.blogspot.com/2026/01/google-ai-overviews-confirmation-bias.html Google AI 摘要的「迎合偏誤」問題：為什麼 AI 會說你想聽的話？]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
== T ==&lt;br /&gt;
* Temperature 溫度：「溫度是自然語言處理模型中的參數，用於增加或減少模型對其最可能的反應的『信心』。較高的溫度使模型更有『創造性』，這在生成文章等方面可能很有用。較低的溫度使模型更加『自信』，這在回答問題等應用中很有用。」&amp;lt;ref&amp;gt;[https://lukesalamone.github.io/posts/what-is-temperature/ What is Temperature in NLP?🐭 :: Luke Salamone&#039;s Blog]&amp;lt;/ref&amp;gt; ([https://news.ycombinator.com/item?id=35131112 Discussion on Hacker News])&lt;br /&gt;
&lt;br /&gt;
== 延伸閱讀 ==&lt;br /&gt;
# [https://blog.hlb.im/generative-ai-openai-%E8%A9%9E%E5%BD%99%E5%B0%8D%E7%85%A7%E8%A1%A8-591d2a1f1612 Generative AI / OpenAI 詞彙對照表. 本篇文章提供 Generative AI 領域常用的詞彙對照表，內容翻譯自… | by Liang-Bin Hsueh aka hlb | Medium]&lt;br /&gt;
# [https://medium.com/@planetoid/a-plain-language-guide-to-llm-context-windows-and-tokens-2d79026f0e2e A Plain-Language Guide to LLM Context Windows and Tokens]&lt;br /&gt;
# [https://docs.cloud.google.com/docs/generative-ai/glossary Generative AI glossary  |  Google Cloud Documentation]&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Glossary]]&lt;br /&gt;
[[Category: Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Taiwan_Programmer_Community&amp;diff=26438</id>
		<title>Taiwan Programmer Community</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Taiwan_Programmer_Community&amp;diff=26438"/>
		<updated>2026-08-13T05:58:54Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;&amp;lt; [[Open Source Community]]&lt;br /&gt;
&lt;br /&gt;
台灣開發者社群&lt;br /&gt;
&lt;br /&gt;
=== AI, AI agent ===&lt;br /&gt;
* [https://blindegg.kktix.cc/ Generative AI 年會製作委員會 - KKTIX]&lt;br /&gt;
* [https://platform.kktix.cc/ Platform 月台 - KKTIX] (Platform 月台計畫 Stopover)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Language specific ===&lt;br /&gt;
&lt;br /&gt;
==== Flutter ====&lt;br /&gt;
* [https://www.facebook.com/groups/2554431454823796/ Flutter Taipei] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== Go ====&lt;br /&gt;
* [https://www.facebook.com/golangtw Golang Taiwan]: [https://github.com/golangtw/jobs GitHub - golangtw/jobs: 台灣 GO 語言招募職缺列表] {{access | date = 2021-01-31}}&lt;br /&gt;
* [https://www.facebook.com/groups/269001993248363/ Go程式語言] {{access | date = 2016-02-18}}&lt;br /&gt;
* [https://www.facebook.com/groups/1667684473462867/ Golang Gopher Taiwan] {{FB}} {{access | date = 2017-11-27}}&lt;br /&gt;
&lt;br /&gt;
==== iOS ====&lt;br /&gt;
* [https://www.facebook.com/groups/iostw/ iOS Dev Club : iPhone/iPad/iPod touch 軟體應用開發]{{FB}} {{access | date = 2016-06-18}}&lt;br /&gt;
* [https://www.meetup.com/Swift-Taipei-User-Group/ Swift Taipei User Group (Taipei) | Meetup]&lt;br /&gt;
&lt;br /&gt;
==== Java====&lt;br /&gt;
Java&lt;br /&gt;
* [https://www.facebook.com/groups/twjug/ TWJUG] (Taiwan Java User Group) {{FB}}&lt;br /&gt;
* 研討會: [https://www.facebook.com/jcconf/ JCConf.tw] (Java Community Conference Taiwan) {{FB}}: [https://jcconf.tw/2019/ JCConf Taiwan 2019]&lt;br /&gt;
&lt;br /&gt;
Scala&lt;br /&gt;
* [https://www.facebook.com/groups/ScalaTW Scala Taiwan] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== JavaScript (包含 AngularJS, React, Vue)====&lt;br /&gt;
JavaScript&lt;br /&gt;
* [http://jsdc.tw/ JSDC - JavaScript Developer Conferenece Taiwan]&lt;br /&gt;
* [https://www.facebook.com/groups/770941932952823/ JS Girls Taiwan]{{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/javascript.tw JavaScript.tw]{{FB}} 須先登入: [http://www.youtube.com/user/jstwgroup videos] {{Gd}}&lt;br /&gt;
&lt;br /&gt;
JavaScript frameworks: AngularJS&lt;br /&gt;
* [https://www.facebook.com/groups/augularjs.tw/ AngularJS.tw]{{FB}}須先登入([http://kktix.com/group/angularjs-tw 活動])&lt;br /&gt;
* [https://forum.angular.tw/ Angular User Group Taiwan]&lt;br /&gt;
* Angular Girls Taiwan&lt;br /&gt;
&lt;br /&gt;
JavaScript frameworks: ReactJS&lt;br /&gt;
* [https://www.facebook.com/groups/reactjs.tw/ ReactJS.tw]{{FB}}&lt;br /&gt;
&lt;br /&gt;
JavaScript frameworks: Vue&lt;br /&gt;
* [https://www.facebook.com/groups/vuejs.tw/ Vue.js 台灣]{{FB}}&lt;br /&gt;
&lt;br /&gt;
==== Julia ====&lt;br /&gt;
* [https://www.facebook.com/groups/JuliaTaiwan/ Julia Taiwan] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== Kotlin ====&lt;br /&gt;
* [https://www.facebook.com/groups/117755722221972/ Kotlin Taipei] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== .net ====&lt;br /&gt;
* [http://sister.codes/ 專屬女性姊妹的技術學習社群  .NET Sisters]&lt;br /&gt;
* [https://www.facebook.com/groups/DotNetUserGroupTaiwan/ 台灣 .NET 技術愛好者俱樂部] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== PHP ==== &lt;br /&gt;
* [http://twpug.net/ 台灣PHP聯盟 - Taiwan PHP User Group]([http://blog.twpug.org/index.php Blog])&lt;br /&gt;
* [https://www.facebook.com/groups/199493136812961/ PHP 台灣]{{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/849639948396465/ PHP 也有 Day] 台北 PHP 社群{{FB}}: 活動 [http://phptheday.kktix.cc/ PHP 也有 Day - KKTIX]&lt;br /&gt;
* [http://laravel.tw/ Laravel] PHP 框架。研討會 [https://laravelconf.tw/ LaravelConf Taiwan 2019]&lt;br /&gt;
* [http://www.laravel-dojo.com/laradiner Laradiner (a.k.a. Laravel 讀書會) | Laravel Dojo]&lt;br /&gt;
* [https://www.laragirls.org/ LaraGirls|專屬女性的程式學習社群]: [https://www.facebook.com/laragirlstw/ LaraGirls] {{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/1177239905694465/ PHPUnit Taiwan] {{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/118228608891680/ Swoole 台灣] {{FB}} {{access | date = 2017-11-12}}&lt;br /&gt;
* [https://www.ptt.cc/bbs/PHP/index.html 看板 PHP 文章列表 - 批踢踢實業坊]&lt;br /&gt;
* 研討會: [http://2016.phpconf.tw/ PHPConf 2016], [http://2015.phpconf.tw/ PHPConf Taiwan 2015]&lt;br /&gt;
&lt;br /&gt;
==== Python ==== &lt;br /&gt;
* [http://www.python.org.tw/ Python Taiwan – 台灣的Python社群]. {{FB}} [https://www.facebook.com/groups/pythontw/ Python Taiwan]&lt;br /&gt;
* [http://taipei.python.org.tw/ 台北 Python 使用者群組] (Taipei.py). Meetup: [https://www.meetup.com/Taipei-py/ Taipei.py - Taipei Python User Group (Taipei) | Meetup]&lt;br /&gt;
* [http://tw.pyladies.com/ PyLadies @ Taiwan!] / [https://www.facebook.com/pyladies.tw/ PyLadies] {{FB}}: events [http://djangogirls.kktix.cc/ Django Girls Taipei - KKTIX] {{access | date=2014-04-14}}&lt;br /&gt;
* [http://djangogirls.org/taipei/ Django Girls Taipei]&lt;br /&gt;
* [https://www.womenwhocode.com/taipei Taipei | Women Who Code] / [https://www.facebook.com/wwcodetaipei/ Women Who Code Taipei] {{FB}}&lt;br /&gt;
* [http://hualien.python.org.tw/ 花蓮.py] 花蓮的 Python 同好會&lt;br /&gt;
* [http://wasn.csie.ncu.edu.tw:8090/pages/viewpage.action?pageId=13303896 桃園Python使用者群組 - taoyuan.py - WASN Lab Wiki]&lt;br /&gt;
* [http://www.meetup.com/pythonhug/ PyHUG - 新竹使用者群組]&lt;br /&gt;
* [http://www.meetup.com/Taichung-Python-Meetup/ Taichung.py -- Taichung Python User Group (Taichung) - Meetup]&lt;br /&gt;
* [http://www.meetup.com/pythonhug/ Tainan.py - 台南使用者群組]&lt;br /&gt;
* [https://www.facebook.com/groups/kaohsiungpy/ Kaohsiung Python User Group]: 活動 [http://kaohsiungpy.kktix.cc/ Kaohsiung Python User Group - KKTIX]&lt;br /&gt;
* [https://www.facebook.com/groups/2027602154187130/?hc_ref=ARTVbx1odvDQoEd8IGkMZKApny5Oq-L4I3KYEgUAeBnDaZX0DGuPyLm-aosjMUGzuXs PyTorch Taiwan] {{FB}} &amp;amp;  [http://hemingwang.blogspot.tw/2017/11/pytorch-taiwan.html The Star Also Rises: PyTorch Taiwan（目錄）]&lt;br /&gt;
* [https://www.facebook.com/groups/1854256011540734/ PySpark Taiwan] {{FB}}&lt;br /&gt;
* 研討會: [https://www.facebook.com/pycontw/ PyCon Taiwan], [https://tw.pycon.org/2018/zh-hant/ PyCon Taiwan 2018], [https://tw.pycon.org/2016/ PyCon Taiwan 2016]&lt;br /&gt;
* ... [http://wiki.python.org.tw/ Python 台灣使用者群組 - Python Taiwan Wiki]&lt;br /&gt;
&lt;br /&gt;
==== R ====&lt;br /&gt;
* [https://www.facebook.com/Tw.R.User Taiwan R User Group]{{FB}}: [http://www.meetup.com/Taiwan-R/ events on Meetup] &lt;br /&gt;
* [https://sites.google.com/site/zhonghuarruantixuehui/home 中華R軟體學會]: [https://groups.google.com/forum/#!forum/taiwanruser R軟體使用者論壇 - Google Groups]&lt;br /&gt;
* [https://www.facebook.com/groups/twrladies/ R Ladies] {{FB}} meetup: [https://www.meetup.com/R-Ladies-Taipei/ R-Ladies Taipei (Taipei) | Meetup]&lt;br /&gt;
* [https://www.facebook.com/groups/1210634969026548/ 台灣R軟體Club] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== Rails ====&lt;br /&gt;
* [http://www.meetup.com/taipei-rails-meetup/ Taipei Rails Meetup (Taipei) - Meetup]&lt;br /&gt;
* [http://railsgirls.tw/ Rails Girls Taiwan],  [https://www.facebook.com/railsgirlstw/ Railsgirls Taiwan] {{FB}}&lt;br /&gt;
&lt;br /&gt;
==== Ruby ====&lt;br /&gt;
* [http://ruby.tw/ Ruby Taiwan] ({{FB}} [https://www.facebook.com/ruby.taiwan Ruby Taiwan] )&lt;br /&gt;
* [http://railsgirls.tw/ Rails Girls Taiwan]: 活動[http://ltrt.kktix.cc/ Let&#039;s Try Rails Tuesday]&lt;br /&gt;
* [http://blog.eddie.com.tw/2014/03/03/taipei-ruby-group/ Taipei.rb 起步走 - 高見龍]: [http://taipeirb.kktix.cc/ 活動]&lt;br /&gt;
* 研討會: [https://2019.rubyconf.tw/ Ruby Conf Taiwan 2019], [http://rubyconf.tw/2014/ RubyConf Taiwan 2014]&lt;br /&gt;
* Jobs: [https://jobs.ruby.tw/ Ruby Jobs in Taiwan]&lt;br /&gt;
&lt;br /&gt;
==== Rust ====&lt;br /&gt;
* [https://www.rust-lang.org/zh-TW/ Rust 程式設計語言]: {{FB}} [https://www.facebook.com/rust.tw/ Rust Taiwan]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== TypeScript ====&lt;br /&gt;
* [https://www.facebook.com/groups/typescript.tw/ TypeScript Taiwan]{{FB}}&lt;br /&gt;
&lt;br /&gt;
=== 前端與 HTML/CSS ===&lt;br /&gt;
* [http://www.f2e.tw/ Front-End Developers Taiwan!](facebook groups: [https://www.facebook.com/groups/521085554595481/ Front-End Developers Taiwan]{{FB}} 須先登入、facebook fanspage: [https://www.facebook.com/Front-End-Developers-Taiwan-1631625207071478/ Front-End Developers Taiwan - 首頁]、[https://f2e.kktix.cc/ 活動], [https://github.com/f2etw source code repository] @ github)&lt;br /&gt;
* [http://rgba.tw/ RGBA]: [https://www.facebook.com/rgba.tw RGBA 網頁設計資源] {{FB}}, [https://www.facebook.com/rgba.tw/events 活動]&lt;br /&gt;
* [http://nodejs.tw/ Node.js Taiwan](facebook groups: [https://www.facebook.com/groups/node.js.tw node.js台灣]{{FB}} 須先登入, [http://kktix.com/group/nodejs-tw 活動])&lt;br /&gt;
* [https://www.facebook.com/groups/htmlfive HTML5與CSS3在台灣]{{FB}} 須先登入&lt;br /&gt;
* [https://www.facebook.com/HappyCSSer/ Happy CSSer] {{FB}}&lt;br /&gt;
* [https://modernweb.tw/ Modern Web 2019]&lt;br /&gt;
&lt;br /&gt;
過往記錄&lt;br /&gt;
* [http://www.webconf.tw/ WebConf Taiwan] 2013&lt;br /&gt;
* [http://tw.iojs.org/ iojs 台灣] {{access | date=2015-04-16}}&lt;br /&gt;
&lt;br /&gt;
=== 後端 ===&lt;br /&gt;
* [https://www.facebook.com/groups/616369245163622/ Backend 台灣 (Backend Tw)]{{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/819577128464471/ Backend.tw (友善版)]{{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/534898123697080/ Taiwan Backend Group]{{FB}}&lt;br /&gt;
&lt;br /&gt;
=== 資料庫 ===&lt;br /&gt;
* [https://www.facebook.com/groups/1769310993374170 PostgreSQL.TW] &amp;quot;PostgreSQL 台灣使用者社群，分享資料庫的資訊和經驗&amp;quot;&lt;br /&gt;
* [https://taiwan.pass.org/default.aspx SQL PASS 台灣分會] (Taiwan SQL Server User Group): {{FB}} [https://www.facebook.com/sqlpass.tw/ 台灣 SQL PASS 社群] &amp;quot;SQL Server 使用者的社群&amp;quot;&lt;br /&gt;
* [https://www.facebook.com/groups/297728497041569 MySQL User Group Taiwan] &amp;quot;台灣 MySQL 使用者社群&amp;quot;&lt;br /&gt;
* [https://www.facebook.com/groups/1366282493528953 MongoDB User Group TW]&lt;br /&gt;
&lt;br /&gt;
=== 敏捷開發, DevOps 與 SRE ===&lt;br /&gt;
Software development &amp;amp; DevOps 有興趣的同好加入我們的活動、持續關注我們。&lt;br /&gt;
* [https://www.facebook.com/AgileCommunity.tw AgileCommunity.tw]{{FB}} (blog: [http://agiletw.tumblr.com/ Agile Community Taiwan]/thumblr, events: [http://www.accupass.com/org/detail/r/965090279531912/1/0])&lt;br /&gt;
** [https://summit.ithome.com.tw/agile/ Agile Summit 2020]&lt;br /&gt;
** [https://www.facebook.com/AgileTourTaipei/ AgileTour Taipei] {{FB}}: [https://agilecommtw.kktix.cc/events/agiletourtaipei2019 Agile Tour Taipei 2019 台北敏捷之旅] {{access | date = 2020-02-29}}&lt;br /&gt;
* [https://www.facebook.com/groups/AgileNeihu/ Agile community in 內湖]&lt;br /&gt;
* [https://www.facebook.com/groups/Agile.Taichung/ Agile.Taichung]&lt;br /&gt;
* [https://www.facebook.com/groups/agile.kaohsiung/ Agile Kaohsiung] {{FB}} {{access | date = 2018-02-03}}&lt;br /&gt;
* [https://www.facebook.com/AgileGirls/ AgileGirls] {{FB}} {{access | date = 2020-02-22}}&lt;br /&gt;
* [https://www.facebook.com/groups/179345672472/ Scrum Community in Taiwan] {{FB}} &amp;quot;non-official Scrum Community in Taiwan ... &amp;quot; {{access | date = 2016-06-01}}&lt;br /&gt;
&lt;br /&gt;
Devops&lt;br /&gt;
* [https://devopstw.club/ DevOps Taiwan Community | DevOps 台灣社群]: [https://github.com/DevOpsTW DevOps Taiwan] / [https://www.facebook.com/groups/DevOpsTaiwan/ DevOps Taiwan] {{FB}}, 研討會 [https://devopsdays.tw/ DevOpsDays Taipei 2019]&lt;br /&gt;
* [http://devopssummit.ithome.com.tw/ DevOps Summit 2016::開發維運融一體．敏捷高效自動化] 主辦單位: ithome&lt;br /&gt;
&lt;br /&gt;
網站可靠性工程 (SRE, Site Reliability Engineering)&lt;br /&gt;
* [https://www.facebook.com/groups/sre.taiwan/ Site Reliability Engineering Taiwan] {{FB}}&lt;br /&gt;
&lt;br /&gt;
=== 網站企劃與產品設計社群 ===&lt;br /&gt;
* [[Product manager community|網站企劃與產品設計相關活動訊息 與 社群網站]]&lt;br /&gt;
&lt;br /&gt;
=== 聊天機器人(Chatbot) ===&lt;br /&gt;
* [https://www.facebook.com/groups/chatbot.tw/ Chatbot Developers Taiwan] {{FB}} 台灣聊天機器人開發者社團&lt;br /&gt;
* [https://www.facebook.com/openmeow 有開嗎] {{FB}} meetup: [https://chatbots.kktix.cc/ Chatbots Meetup - KKTIX]&lt;br /&gt;
* [https://www.facebook.com/InnovationChat/ Innovation Chat] {{FB}}&lt;br /&gt;
* [https://hackmd.io/@6WH1jnfQTKqVOcMzN0iYAQ/S1dBpOp6u IET Oncampus x Taichung Tech 攤位簡介] 「本社群致力於推廣用RASA (https://rasa.com/)平台來打造聊天機器人」&lt;br /&gt;
&lt;br /&gt;
=== CMS (內容管理系統) ===&lt;br /&gt;
{{acronym | acronym=CMS | def=內容管理系統(Content Management System)}}&lt;br /&gt;
* [http://drupaltaiwan.org/ Drupal Taiwan 正體中文支援站], [https://www.facebook.com/DrupalTaiwan DrupalCamp Taipei]{{FB}}&lt;br /&gt;
* [http://www.joomla.org.tw/ 台灣 Joomla! 社群]&lt;br /&gt;
* [https://www.facebook.com/wctwn WordCamp Taiwan]{{FB}} 網站: [https://taiwan.wordcamp.org/2025/ WordCamp Taipei 2025], [https://2019.taipei.wordcamp.org/ WordCamp Taipei 2019 – 走進社群，步出世界。Meet People, Meet the World.]&lt;br /&gt;
* [https://www.facebook.com/groups/wordpresstw/ WordPress Taiwan 正體中文]&lt;br /&gt;
&lt;br /&gt;
=== 資安 ===&lt;br /&gt;
[https://hitcon.org/ 台灣駭客嘉年華] ([https://www.facebook.com/HITCON/ Hacks In Taiwan 台灣駭客年會 ( HITCON ) - 首頁] {{FB}})&lt;br /&gt;
* [https://hitcon.org/2023/carnival/ 台灣駭客嘉年華 2023]&lt;br /&gt;
* [https://hitcon.org/2019/CMT/ 台灣駭客年會 HITCON CMT 2019]&lt;br /&gt;
* [http://hitcon.org/2014/ 台灣駭客年會 HITCON 2014 — Adapt to the new era of security threats.]: [http://hitcon.kktix.cc/ 台灣駭客年會 HITCON - KKTIX]&lt;br /&gt;
&lt;br /&gt;
=== Docker &amp;amp; kubernetes ===&lt;br /&gt;
* [https://www.facebook.com/groups/docker.taipei/ Docker.Taipei]{{FB}}&lt;br /&gt;
** 活動: [http://www.meetup.com/Docker-Taipei/ Docker Taipei (Taipei) - Meetup]&lt;br /&gt;
** [https://dockers.hackpad.com/%E6%AD%A1%E8%BF%8E%E5%8F%83%E8%88%87-Docker-%E6%8A%80%E8%A1%93%E5%88%86%E4%BA%AB%E5%85%B1%E7%AD%86-gAMMdf0bsiL Docker 技術分享共筆]&lt;br /&gt;
* [https://summit.ithome.com.tw/kubernetes/ Kubernetes Summit 企業容器架構實戰分享，各產業K8s經驗、廠商沒說的決策關鍵]&lt;br /&gt;
&lt;br /&gt;
=== Git 版本管理 ===&lt;br /&gt;
* [https://www.facebook.com/groups/git.tw/ Git.tw] {{FB}}&lt;br /&gt;
* [https://www.facebook.com/groups/GitLabTaipei/ GitLab Taipei User Group] {{FB}}&lt;br /&gt;
&lt;br /&gt;
=== Google 相關技術社群開發者 ===&lt;br /&gt;
Google technology&lt;br /&gt;
* [https://www.facebook.com/GDG.Taipei GDG Taipei] {{FB}} meetup: [http://gdg-taipei.kktix.cc/ GDG Taipei - KKTIX]&lt;br /&gt;
* [https://www.facebook.com/GDG.Taoyuan/ GDG Taoyuan] {{FB}}&lt;br /&gt;
* [http://gdgk.ga/ Google 高雄開發者社群 - GDG Kaohsiung]&lt;br /&gt;
* [https://www.facebook.com/gdgtaiwan/ Google Developers Groups Taiwan] {{FB}}&lt;br /&gt;
&lt;br /&gt;
=== Amazon Web Services (AWS) ===&lt;br /&gt;
* [https://awscmd.tw/ AWS Community Day Taiwan 2023 | 專屬於 AWS 社群愛好者的年會]&lt;br /&gt;
* [https://aws.amazon.com/tw/summits/taipei/ 2019 AWS 台北高峰會]&lt;br /&gt;
&lt;br /&gt;
=== Azure ===&lt;br /&gt;
* [https://www.facebook.com/groups/AzureTWUG/ Azure Taiwan User Group] {{FB}}&lt;br /&gt;
&lt;br /&gt;
== 資料工程 ==&lt;br /&gt;
* [http://2019.datacon.tw/ DataCon.TW 2019 – 11th Hadoop.TW / 3nd TDEA Annual Conference] hosted by [https://www.facebook.com/groups/dataengineering.tw/ 臺灣資料工程協會]&lt;br /&gt;
&lt;br /&gt;
TensorFlow&lt;br /&gt;
* [https://www.youtube.com/channel/UCWfxZibjbxZPr4YVqxDq8AA/featured TensorFlow User Group Taipei (Taipei, Taiwan) - YouTube]&lt;br /&gt;
&lt;br /&gt;
== 共創空間 ==&lt;br /&gt;
* [http://www.osvaa.com/osvaablog/ A+A Space - 共創共享空間]&lt;br /&gt;
&lt;br /&gt;
== 其他 ==&lt;br /&gt;
* [https://mopcon.org/2019/ 行動科技年會 2019 | Mobile / Open / Platform Conference]&lt;br /&gt;
* [https://cloudsummit.ithome.com.tw/index.html iThome Cloud Edge Summit Taiwan 2020]&lt;br /&gt;
* [https://www.facebook.com/groups/cloudnative.tw/ Cloud Native Taiwan User Group]&lt;br /&gt;
* [https://www.facebook.com/ubuntu.tw/ Ubuntu 台灣（在地推廣組） Ubuntu-TW LoCo Team - Ubuntu Taiwan Community] {{FB}}&lt;br /&gt;
* [https://hkoscon.org/2021/ HKOSCon 2021]&lt;br /&gt;
* Apache Local Community (ALC) Taipei [https://www.facebook.com/opensource4you 源來適你] {{FB}}&lt;br /&gt;
&lt;br /&gt;
== 相關網頁 ==&lt;br /&gt;
* [https://www.cakeresume.com/resources/groups-for-engineers-and-tech-jobs?locale=zh-TW 從前端到後端，工程師找工作 16 大社群不藏私整理給你！ | CakeResume]&lt;br /&gt;
* [https://github.com/StarRocket/awesome-taiwan-community StarRocket/awesome-taiwan-community: 📚學習路上不孤單，台灣設計圈、程式技術圈、產品圈、創業圈活躍社群清單]&lt;br /&gt;
* [[Computing society]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Community]]&lt;br /&gt;
[[Category:Programming]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Ollama_API&amp;diff=26437</id>
		<title>Troubleshooting of Ollama API</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Ollama_API&amp;diff=26437"/>
		<updated>2026-08-12T09:03:11Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* How to fix &amp;quot;json: cannot unmarshal object ...&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Troubleshooting of [https://ollama.com/ Ollama] [https://github.com/ollama/ollama/blob/main/docs/api.md API]&lt;br /&gt;
&lt;br /&gt;
{{Raise hand | text = If you have any questions about the Ollama API, you can post them on the [https://github.com/ollama/ollama/issues Ollama GitHub Repository].}}&lt;br /&gt;
&lt;br /&gt;
== How to Fix &amp;quot;Unauthorized&amp;quot; Error ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP Error 401&lt;br /&gt;
Response: {&amp;quot;error&amp;quot;:&amp;quot;Unauthorized&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that your API key is correct by testing it with the following curl command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -s -o /dev/null -w &amp;quot;%{http_code}\n&amp;quot; -X POST https://ollama.com/api/chat -H &amp;quot;Authorization: Bearer REPLACE_WITH_YOUR_API_KEY&amp;quot; -H &amp;quot;Content-Type: application/json&amp;quot; -d &#039;{&amp;quot;model&amp;quot;:&amp;quot;gpt-oss:120b&amp;quot;,&amp;quot;messages&amp;quot;:[{&amp;quot;role&amp;quot;:&amp;quot;user&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hi&amp;quot;}],&amp;quot;stream&amp;quot;:false}&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the returned status code:&lt;br /&gt;
* &#039;&#039;&#039;200&#039;&#039;&#039; — the API key is valid&lt;br /&gt;
* &#039;&#039;&#039;401&#039;&#039;&#039; — the API key is invalid or incorrect&lt;br /&gt;
&lt;br /&gt;
== How to fix &amp;quot;prompt too long; exceeded max context length&amp;quot; when sending files ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP Error 400: {&amp;quot;error&amp;quot;:&amp;quot;prompt too long; exceeded max context length by 311181 tokens&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applicable Model:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* {{kbd | key=gpt-oss:120b}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Root Cause: The entire file content was concatenated into &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt; as raw text. Ollama&#039;s &amp;lt;code&amp;gt;/api/chat&amp;lt;/code&amp;gt; has no dedicated &amp;quot;file&amp;quot; field — text/document content must be extracted client-side and embedded directly into the message string, which counts fully against &amp;lt;code&amp;gt;num_ctx&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Incorrect Usage: Whole file dumped straight into content&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [[&lt;br /&gt;
    &#039;role&#039; =&amp;gt; &#039;user&#039;,&lt;br /&gt;
    &#039;content&#039; =&amp;gt; file&#039;&#039;get&#039;&#039;contents($path) . &amp;quot;\n\nPlease summary this document&amp;quot;&lt;br /&gt;
]]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Correct Usage: Truncate / chunk / summarize before sending, and raise &amp;lt;code&amp;gt;num_ctx&amp;lt;/code&amp;gt; to match&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [[&lt;br /&gt;
    &#039;role&#039; =&amp;gt; &#039;user&#039;,&lt;br /&gt;
    &#039;content&#039; =&amp;gt; $chunkedText . &amp;quot;\n\nPlease summary this document&amp;quot;&lt;br /&gt;
]],&lt;br /&gt;
&#039;options&#039; =&amp;gt; [&lt;br /&gt;
    &#039;num_ctx&#039; =&amp;gt; 32768&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation:&#039;&#039;&#039;&lt;br /&gt;
Ollama&#039;s chat endpoint only has a native &amp;lt;code&amp;gt;images&amp;lt;/code&amp;gt; array (base64-encoded, vision models only). There is no &amp;lt;code&amp;gt;files&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;document&amp;lt;/code&amp;gt; parameter. Any non-image file — PDF, txt, docx, log — must be converted to plain text on the client and inserted into &amp;lt;code&amp;gt;content&amp;lt;/code&amp;gt;, so its size is not free; it consumes tokens exactly like typed text.&lt;br /&gt;
&lt;br /&gt;
If the resulting text exceeds the model&#039;s context window (&amp;lt;code&amp;gt;num_ctx&amp;lt;/code&amp;gt;, default is often small, e.g. 2048–4096), the request fails with &amp;lt;code&amp;gt;&amp;quot;prompt too long&amp;quot;&amp;lt;/code&amp;gt;. Fix by combining:&lt;br /&gt;
&lt;br /&gt;
* Explicitly setting a larger &amp;lt;code&amp;gt;num_ctx&amp;lt;/code&amp;gt; in &amp;lt;code&amp;gt;options&amp;lt;/code&amp;gt; (bounded by what the model/hardware can actually support)&lt;br /&gt;
* Chunking the file and sending it in multiple requests&lt;br /&gt;
* Pre-summarizing or using RAG-style retrieval so only relevant excerpts are sent, instead of the full file&lt;br /&gt;
&lt;br /&gt;
This fix resolves the &amp;lt;code&amp;gt;&amp;quot;prompt too long; exceeded max context length&amp;quot;&amp;lt;/code&amp;gt; error when large files are pasted into chat.&lt;br /&gt;
&lt;br /&gt;
== How to fix &amp;quot;json: cannot unmarshal object ...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP Error 400: {&amp;quot;error&amp;quot;: &amp;quot;json: cannot unmarshal object into Go struct field ChatRequest.messages of type []api.Message&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applicable Model:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* {{kbd | key=gpt-oss:120b}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Root Cause: Incorrect `messages` format. The API expects an array format, but a single object was being sent.&lt;br /&gt;
&lt;br /&gt;
Incorrect Format in PHP: ❌ This is an object&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [&#039;role&#039; =&amp;gt; &#039;user&#039;, &#039;content&#039; =&amp;gt; $message]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Correct Format in PHP: ✅ This is an array containing an object&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [[&#039;role&#039; =&amp;gt; &#039;user&#039;, &#039;content&#039; =&amp;gt; $message]]  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation:&#039;&#039;&#039;&lt;br /&gt;
The `messages` parameter must be an array of message objects, not a single message object. Each message object should contain `role` and `content` properties. The extra square brackets `[]` wrap the message object into an array, which matches the API&#039;s expected format.&lt;br /&gt;
&lt;br /&gt;
This fix resolves the `&amp;quot;cannot unmarshal object into Go struct field ChatRequest.messages&amp;quot;` error.&lt;br /&gt;
&lt;br /&gt;
== Related links ==&lt;br /&gt;
* Forum: [https://www.reddit.com/r/ollama/ ollama]&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]] &lt;br /&gt;
[[Category: Ollama]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;br /&gt;
[[Category: Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Ollama_API&amp;diff=26436</id>
		<title>Troubleshooting of Ollama API</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_Ollama_API&amp;diff=26436"/>
		<updated>2026-08-12T08:29:40Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: How to Fix &amp;quot;Unauthorized&amp;quot; Error&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Troubleshooting of [https://ollama.com/ Ollama] [https://github.com/ollama/ollama/blob/main/docs/api.md API]&lt;br /&gt;
&lt;br /&gt;
{{Raise hand | text = If you have any questions about the Ollama API, you can post them on the [https://github.com/ollama/ollama/issues Ollama GitHub Repository].}}&lt;br /&gt;
&lt;br /&gt;
== How to Fix &amp;quot;Unauthorized&amp;quot; Error ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP Error 401&lt;br /&gt;
Response: {&amp;quot;error&amp;quot;:&amp;quot;Unauthorized&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Verify that your API key is correct by testing it with the following curl command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
curl -s -o /dev/null -w &amp;quot;%{http_code}\n&amp;quot; -X POST https://ollama.com/api/chat -H &amp;quot;Authorization: Bearer REPLACE_WITH_YOUR_API_KEY&amp;quot; -H &amp;quot;Content-Type: application/json&amp;quot; -d &#039;{&amp;quot;model&amp;quot;:&amp;quot;gpt-oss:120b&amp;quot;,&amp;quot;messages&amp;quot;:[{&amp;quot;role&amp;quot;:&amp;quot;user&amp;quot;,&amp;quot;content&amp;quot;:&amp;quot;hi&amp;quot;}],&amp;quot;stream&amp;quot;:false}&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check the returned status code:&lt;br /&gt;
* &#039;&#039;&#039;200&#039;&#039;&#039; — the API key is valid&lt;br /&gt;
* &#039;&#039;&#039;401&#039;&#039;&#039; — the API key is invalid or incorrect&lt;br /&gt;
&lt;br /&gt;
== How to fix &amp;quot;json: cannot unmarshal object ...&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error message:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HTTP Error 400: {&amp;quot;error&amp;quot;: &amp;quot;json: cannot unmarshal object into Go struct field ChatRequest.messages of type []api.Message&amp;quot;}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Applicable Model:&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
* {{kbd | key=gpt-oss:120b}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Root Cause: Incorrect `messages` format. The API expects an array format, but a single object was being sent.&lt;br /&gt;
&lt;br /&gt;
Incorrect Format in PHP: ❌ This is an object&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [&#039;role&#039; =&amp;gt; &#039;user&#039;, &#039;content&#039; =&amp;gt; $message]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Correct Format in PHP: ✅ This is an array containing an object&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&#039;messages&#039; =&amp;gt; [[&#039;role&#039; =&amp;gt; &#039;user&#039;, &#039;content&#039; =&amp;gt; $message]]  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Explanation:&#039;&#039;&#039;&lt;br /&gt;
The `messages` parameter must be an array of message objects, not a single message object. Each message object should contain `role` and `content` properties. The extra square brackets `[]` wrap the message object into an array, which matches the API&#039;s expected format.&lt;br /&gt;
&lt;br /&gt;
This fix resolves the `&amp;quot;cannot unmarshal object into Go struct field ChatRequest.messages&amp;quot;` error.&lt;br /&gt;
&lt;br /&gt;
== Related links ==&lt;br /&gt;
* Forum: [https://www.reddit.com/r/ollama/ ollama]&lt;br /&gt;
&lt;br /&gt;
[[Category: Tools]] &lt;br /&gt;
[[Category: Ollama]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;br /&gt;
[[Category: Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26435</id>
		<title>Capacity of Email Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26435"/>
		<updated>2026-08-11T02:48:33Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Email服務每封郵件的檔案大小上限 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;單封信件 (含夾帶檔案) 的檔案大小上限 (maximum attachment size) 與建議&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Email服務每封郵件的檔案大小上限 ==&lt;br /&gt;
&#039;&#039;&#039;建議&#039;&#039;&#039;:&lt;br /&gt;
* 檔案大小 (file size) 控制在&#039;&#039;&#039;6-10MB&#039;&#039;&#039;: 因為信件夾帶的檔案經過編碼([http://en.wikipedia.org/wiki/MIME MIME] encode)後，會導致檔案大小變大，所以寄信時的信件(含夾帶的檔案)檔案大小建議能控制在上限的三分之二，即6-10MB，以免被退信。&lt;br /&gt;
* 超過10MB的檔案，可以考慮使用將附檔[[File compression|壓縮]] 或放在Web、FTP、[http://en.wikipedia.org/wiki/Comparison_of_one-click_hosters 線上檔案儲存網站]、[[Snapchat of file sharing | 閱後即焚檔案分享服務]] ex: [https://drive.google.com/ Google Drive] 單一檔案限 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant&amp;amp;vid=1-635756751147519182-13007898089037315163 檔案大小 - 雲端硬碟說明] {{access | date = 2015-08-20}}&amp;lt;/ref&amp;gt;, DropBox 單一檔案限2GB&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/5 Dropbox 是否有檔案大小的限制或上限？ (Dropbox 說明中心)]&amp;lt;/ref&amp;gt;, [http://www.mediafire.com/ MediaFire](非圖檔的單一檔案限200MB) 等。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%; min-height: .01%; overflow-x: auto;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|| &amp;lt;b&amp;gt;網站名稱&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;單封信件(含夾帶檔案)的檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;建議的夾帶檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;信箱總容量上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;備註(拜訪日期)&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.aol.com/ AOL Mail](免費)&lt;br /&gt;
|| 16MB&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=221717 Cannot send email attachments or embedded files on AOL WebMail- AOL Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 10MB&lt;br /&gt;
|| 超過2GB，輸入檢核碼即可增加空間&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=218743 How do I save my emails in AOL WebMail?- AOL Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2010-09-11&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [https://gmail.google.com/ Google Gmail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://mail.google.com/support/bin/answer.py?answer=8770&amp;amp;topic=1516 Maximum attachment size - Gmail Help]  &amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過25MB可上傳至Google Drive，最多到 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt; )&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 15G(免費服務)/ 100GB-30TB(付費服務)&amp;lt;ref&amp;gt;[http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=39567 Google Storage - Gmail Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://www.mail.lycos.com/ Lycos Mail] (免費)&lt;br /&gt;
|| 35MB&amp;lt;ref&amp;gt;[https://cshelp.lycos.com/ics/support/KBAnswer.asp?questionID=73 Is there a limit to the size of the emails that I can send? - Lycos.com Helpdesk]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 21MB&lt;br /&gt;
|| 3G(free) ~ 5G(paid)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail.com/intl/ Mail.com](免費/付費服務)&lt;br /&gt;
|| 50MB&amp;lt;ref&amp;gt;[http://help.mail.com/index.html Mail.com FAQ] - What is the maximum size for sending and receiving email? &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail2000.com.tw/ Mail2000](付費服務)&lt;br /&gt;
|| 40MB&amp;lt;ref&amp;gt;[http://doc.mail2000.com.tw/m2k/faq_about_a1-3.htm 單封信件傳輸量及我的檔案的容量有多少？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| 500MB~12GB&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://mail.pchome.com.tw/ PChome Online](免費)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://faq.pchome.com.tw/faq_solution.html?f_id=1&amp;amp;q_id=6&amp;amp;c_nickname=mail PC home E-Mail 是否有容量等限制？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 250MB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.seed.net.tw/Login.do Seednet](付費服務)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://webmail.seed.net.tw/web/rule.htm Seednet Webmail使用規範] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 2G&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.url.com.tw/emailstore/index.htm URL智邦生活館](付費服務)&lt;br /&gt;
|| 10MB(付費服務]&amp;lt;ref&amp;gt;[http://vipmail.url.com.tw/vipmail.asp?q=1 URL 智邦生活館 VIP Mail 常見問題集] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB(付費服務)&lt;br /&gt;
|| 2000MB(付費服務)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [https://outlook.com outlook.com](免費) 前 hotmail&lt;br /&gt;
|| 34MB&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/Attach-files-in-Outlook-com-8d7c1ea7-4e5f-44ce-bb6e-c5fcc92ba9ab Attach files in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過可上傳至OneDrive，最多到 15GB(免費) ~ 50GB(付費)&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/storage-limits-in-outlook-com-7ac99134-69e5-4619-ac0b-2d313bba5e9e?ui=en-US&amp;amp;rs=en-US&amp;amp;ad=US Storage limits in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
|| 20MB+&lt;br /&gt;
|| &lt;br /&gt;
|| 2018-08-25&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [http://mail.yahoo.com.tw/ Yahoo!奇摩電子信箱](免費/付費服務)&lt;br /&gt;
|| 25MB(免費/付費服務)&amp;lt;ref&amp;gt;[https://tw.help.yahoo.com/kb/%E4%BF%A1%E4%BB%B6%E5%A4%A7%E5%B0%8F-%E9%99%90%E5%88%B6-sln5673.html 信件大小限制]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB(免費/付費服務)&lt;br /&gt;
|| 1TB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [https://protonmail.com/ ProtonMail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/attaching-multiple-documents-to-a-message/ Attaching documents to a message and limits - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 500MB(免費服務)、5~20GB(免費/付費服務)&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/paid-plans/ ProtonMail Plans Explained (Free, Paid, Visionary) - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2016-11-12&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://mail.qq.com/ QQ邮箱] 腾讯邮箱服务 (免費服務)&lt;br /&gt;
|| 50MB &amp;lt;br /&amp;gt; 超過限制可上傳至雲端硬碟，最多到 2GB &amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=11&amp;amp;&amp;amp;no=130 一封邮件可以发送多个附件吗？_QQ邮箱帮助中心] &amp;amp; [http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=35&amp;amp;&amp;amp;no=206 什么是文件中转站？_QQ邮箱帮助中心] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;no=103&amp;amp;&amp;amp;id=22 QQ邮箱的容量和附件有多大？_QQ邮箱帮助中心]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-29&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
寄信到 hotmail 收到回信「Delivery Status Notification (Failure)」&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
伺服器的回應如下：&lt;br /&gt;
552 Too much mail data.(31457280 bytes bounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
訊息中「31457280 bytes」相當於 31 MB。實際信件的附檔檔案大小約 24 MB，因此需要如上表建議調整到 20 MB 或者是直接上傳到雲端硬碟空間。&lt;br /&gt;
&lt;br /&gt;
== 夾檔的檔案類型 ==&lt;br /&gt;
{{exclaim}} 如果夾檔的檔案類型是執行檔 ( .exe )、程式 ( .jar ) 等，可能會因為安全原因，遭到 Gmail 封鎖，而無法下載附檔&amp;lt;ref&amp;gt;[https://support.google.com/mail/answer/6590?hl=zh-Hant 部分檔案類型遭到封鎖 - Gmail說明]&amp;lt;/ref&amp;gt;。可以將檔案壓縮後改放到雲端硬碟 Google 雲端硬碟&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt;、Dropbox&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/145 為什麼某些檔案無法從一台電腦同步到另一台電腦上？ - Dropbox 說明 - Dropbox]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 相關頁面 ==&lt;br /&gt;
* {{Gd}} [[Procedure_of_campus_event#email | email 溝通途徑的注意事項]]&lt;br /&gt;
* [[Anti Spam Email|防制廣告信件]]&lt;br /&gt;
* [[User_agent#Mail_user_clients_.2F_Mail_user_agents |mail user client]]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Comparison_of_webmail_providers Comparison of webmail providers - Wikipedia, the free encyclopedia]&lt;br /&gt;
* [[Email testing]]&lt;br /&gt;
&lt;br /&gt;
== 相關新聞聯播 ==&lt;br /&gt;
&lt;br /&gt;
{{News feed | title = 電子郵件 OR email OR 團隊溝通 相關新聞聯播 | feed = &amp;lt;rss&amp;gt;https://news.google.com/rss/search?q=%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6+OR+email+OR+%E5%9C%98%E9%9A%8A%E6%BA%9D%E9%80%9A&amp;amp;hl=zh-TW&amp;amp;gl=TW&amp;amp;ceid=TW:zh-Hant&amp;lt;/rss&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
 &amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Email]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Email_testing&amp;diff=26434</id>
		<title>Email testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Email_testing&amp;diff=26434"/>
		<updated>2026-08-11T02:32:53Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* For role: users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;← [[Testing]]&lt;br /&gt;
&lt;br /&gt;
== For role: users ==&lt;br /&gt;
Using the following e-mail service with name alias or alternative name&lt;br /&gt;
* [https://gmail.google.com/ Google Gmail]: plus sign {{exclaim}} the plus sign is not allowed by some websites&lt;br /&gt;
* Suggest search keyword: [http://lmgtfy.com/?q=anonymous%20email anonymous email]、拋棄式信箱 (Disposable Email) e.g. &#039;&#039;$&#039;&#039; [http://doc.mail2000.com.tw/edm/o_act/virtual/htm/faq.htm Ｍail2000拋棄式帳號：全新網域 輕鬆拋棄 廣告信Bye-bye！]&lt;br /&gt;
* [[Capacity of Email Service]]&lt;br /&gt;
&lt;br /&gt;
== For role: web developers ==&lt;br /&gt;
* {{Gd}} [https://www.caniemail.com/ Can I email… Support tables for HTML and CSS in emails] {{access | date=2026-04-24}} e.g. [https://www.caniemail.com/features/image-webp/ Can I email… webP image format]&lt;br /&gt;
* [[Troubleshooting of PHP errors#錯誤訊息: SMTP Error: Could not connect to SMTP host.]]&lt;br /&gt;
&lt;br /&gt;
== For role: system administrator ==&lt;br /&gt;
If you have the telnet permission,&lt;br /&gt;
* Suggest search keyword: [http://lmgtfy.com/?q=smtp%20telnet%20test smtp telnet test]&lt;br /&gt;
* [https://technet.microsoft.com/zh-tw/library/aa995718(v=exchg.65).aspx 如何使用 Telnet 來測試 SMTP 通訊]&lt;br /&gt;
* [https://support.google.com/mail/answer/78775?hl=zh-Hant 使用 POP 或 IMAP 傳送郵件時發生問題 - Gmail說明] {{access | date = 2016-08-08}}&lt;br /&gt;
* [http://www.xspace.idv.tw/bo_blog/post/85/ Outlook 錯誤代碼的含義及解決辦法] {{access | date = 2016-12-22}}&lt;br /&gt;
&lt;br /&gt;
是否可以連線到 SMTP 主機{{kbd | key =&amp;lt;nowiki&amp;gt;nslookup smtp.gmail.com&amp;lt;/nowiki&amp;gt; }} 或 {{kbd | key =&amp;lt;nowiki&amp;gt;telnet smtp.gmail.com port&amp;lt;/nowiki&amp;gt; }} (例子中以 gmail 作為 smtp 伺服器)&lt;br /&gt;
{{kbd | key =&amp;lt;nowiki&amp;gt;telnet smtp.gmail.com 465&amp;lt;/nowiki&amp;gt; }} 預期結果：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying 74.125.129.109...&lt;br /&gt;
Connected to smtp.gmail.com.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
^] //註：(Windows) 輸入 ctrl + ] 兩個按鍵，(Mac) 輸入 control + ] 兩個按鍵&lt;br /&gt;
telnet&amp;gt; quit&lt;br /&gt;
Connection closed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
非預期結果：請調整防火牆設定&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying x.x.x.x...&lt;br /&gt;
telnet: connect to address x.x.x.x: Connection refused&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Web Dev]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26433</id>
		<title>Capacity of Email Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26433"/>
		<updated>2026-08-11T02:25:24Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 相關頁面 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;單封信件 (含夾帶檔案) 的檔案大小上限 (maximum attachment size) 與建議&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Email服務每封郵件的檔案大小上限 ==&lt;br /&gt;
&#039;&#039;&#039;建議&#039;&#039;&#039;:&lt;br /&gt;
* 檔案大小 (file size) 控制在&#039;&#039;&#039;6-10MB&#039;&#039;&#039;: 因為信件夾帶的檔案經過編碼([http://en.wikipedia.org/wiki/MIME MIME] encode)後，會導致檔案大小變大，所以寄信時的信件(含夾帶的檔案)檔案大小建議能控制在上限的三分之二，即6-10MB，以免被退信。&lt;br /&gt;
* 超過10MB的檔案，可以考慮使用將附檔[[File compression|壓縮]] 或放在Web、FTP、[http://en.wikipedia.org/wiki/Comparison_of_one-click_hosters 線上檔案儲存網站]、[[Snapchat of file sharing | 閱後即焚檔案分享服務]] ex: [https://drive.google.com/ Google Drive] 單一檔案限 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant&amp;amp;vid=1-635756751147519182-13007898089037315163 檔案大小 - 雲端硬碟說明] {{access | date = 2015-08-20}}&amp;lt;/ref&amp;gt;, DropBox 單一檔案限2GB&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/5 Dropbox 是否有檔案大小的限制或上限？ (Dropbox 說明中心)]&amp;lt;/ref&amp;gt;, [http://www.mediafire.com/ MediaFire](非圖檔的單一檔案限200MB), [http://www.yousendit.com/ YouSendIt](單一檔案限100MB) ...。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%; min-height: .01%; overflow-x: auto;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|| &amp;lt;b&amp;gt;網站名稱&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;單封信件(含夾帶檔案)的檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;建議的夾帶檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;信箱總容量上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;備註(拜訪日期)&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.aol.com/ AOL Mail](免費)&lt;br /&gt;
|| 16MB&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=221717 Cannot send email attachments or embedded files on AOL WebMail- AOL Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 10MB&lt;br /&gt;
|| 超過2GB，輸入檢核碼即可增加空間&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=218743 How do I save my emails in AOL WebMail?- AOL Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2010-09-11&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [https://gmail.google.com/ Google Gmail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://mail.google.com/support/bin/answer.py?answer=8770&amp;amp;topic=1516 Maximum attachment size - Gmail Help]  &amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過25MB可上傳至Google Drive，最多到 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt; )&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 15G(免費服務)/ 100GB-30TB(付費服務)&amp;lt;ref&amp;gt;[http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=39567 Google Storage - Gmail Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://www.mail.lycos.com/ Lycos Mail] (免費)&lt;br /&gt;
|| 35MB&amp;lt;ref&amp;gt;[https://cshelp.lycos.com/ics/support/KBAnswer.asp?questionID=73 Is there a limit to the size of the emails that I can send? - Lycos.com Helpdesk]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 21MB&lt;br /&gt;
|| 3G(free) ~ 5G(paid)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail.com/intl/ Mail.com](免費/付費服務)&lt;br /&gt;
|| 50MB&amp;lt;ref&amp;gt;[http://help.mail.com/index.html Mail.com FAQ] - What is the maximum size for sending and receiving email? &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail2000.com.tw/ Mail2000](付費服務)&lt;br /&gt;
|| 40MB&amp;lt;ref&amp;gt;[http://doc.mail2000.com.tw/m2k/faq_about_a1-3.htm 單封信件傳輸量及我的檔案的容量有多少？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| 500MB~12GB&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://mail.pchome.com.tw/ PChome Online](免費)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://faq.pchome.com.tw/faq_solution.html?f_id=1&amp;amp;q_id=6&amp;amp;c_nickname=mail PC home E-Mail 是否有容量等限制？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 250MB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.seed.net.tw/Login.do Seednet](付費服務)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://webmail.seed.net.tw/web/rule.htm Seednet Webmail使用規範] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 2G&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.url.com.tw/emailstore/index.htm URL智邦生活館](付費服務)&lt;br /&gt;
|| 10MB(付費服務]&amp;lt;ref&amp;gt;[http://vipmail.url.com.tw/vipmail.asp?q=1 URL 智邦生活館 VIP Mail 常見問題集] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB(付費服務)&lt;br /&gt;
|| 2000MB(付費服務)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [https://outlook.com outlook.com](免費) 前 hotmail&lt;br /&gt;
|| 34MB&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/Attach-files-in-Outlook-com-8d7c1ea7-4e5f-44ce-bb6e-c5fcc92ba9ab Attach files in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過可上傳至OneDrive，最多到 15GB(免費) ~ 50GB(付費)&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/storage-limits-in-outlook-com-7ac99134-69e5-4619-ac0b-2d313bba5e9e?ui=en-US&amp;amp;rs=en-US&amp;amp;ad=US Storage limits in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
|| 20MB+&lt;br /&gt;
|| &lt;br /&gt;
|| 2018-08-25&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [http://mail.yahoo.com.tw/ Yahoo!奇摩電子信箱](免費/付費服務)&lt;br /&gt;
|| 25MB(免費/付費服務)&amp;lt;ref&amp;gt;[https://tw.help.yahoo.com/kb/%E4%BF%A1%E4%BB%B6%E5%A4%A7%E5%B0%8F-%E9%99%90%E5%88%B6-sln5673.html 信件大小限制]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB(免費/付費服務)&lt;br /&gt;
|| 1TB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [https://protonmail.com/ ProtonMail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/attaching-multiple-documents-to-a-message/ Attaching documents to a message and limits - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 500MB(免費服務)、5~20GB(免費/付費服務)&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/paid-plans/ ProtonMail Plans Explained (Free, Paid, Visionary) - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2016-11-12&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://mail.qq.com/ QQ邮箱] 腾讯邮箱服务 (免費服務)&lt;br /&gt;
|| 50MB &amp;lt;br /&amp;gt; 超過限制可上傳至雲端硬碟，最多到 2GB &amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=11&amp;amp;&amp;amp;no=130 一封邮件可以发送多个附件吗？_QQ邮箱帮助中心] &amp;amp; [http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=35&amp;amp;&amp;amp;no=206 什么是文件中转站？_QQ邮箱帮助中心] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;no=103&amp;amp;&amp;amp;id=22 QQ邮箱的容量和附件有多大？_QQ邮箱帮助中心]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-29&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
寄信到 hotmail 收到回信「Delivery Status Notification (Failure)」&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
伺服器的回應如下：&lt;br /&gt;
552 Too much mail data.(31457280 bytes bounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
訊息中「31457280 bytes」相當於 31 MB。實際信件的附檔檔案大小約 24 MB，因此需要如上表建議調整到 20 MB 或者是直接上傳到雲端硬碟空間。&lt;br /&gt;
&lt;br /&gt;
== 夾檔的檔案類型 ==&lt;br /&gt;
{{exclaim}} 如果夾檔的檔案類型是執行檔 ( .exe )、程式 ( .jar ) 等，可能會因為安全原因，遭到 Gmail 封鎖，而無法下載附檔&amp;lt;ref&amp;gt;[https://support.google.com/mail/answer/6590?hl=zh-Hant 部分檔案類型遭到封鎖 - Gmail說明]&amp;lt;/ref&amp;gt;。可以將檔案壓縮後改放到雲端硬碟 Google 雲端硬碟&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt;、Dropbox&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/145 為什麼某些檔案無法從一台電腦同步到另一台電腦上？ - Dropbox 說明 - Dropbox]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 相關頁面 ==&lt;br /&gt;
* {{Gd}} [[Procedure_of_campus_event#email | email 溝通途徑的注意事項]]&lt;br /&gt;
* [[Anti Spam Email|防制廣告信件]]&lt;br /&gt;
* [[User_agent#Mail_user_clients_.2F_Mail_user_agents |mail user client]]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Comparison_of_webmail_providers Comparison of webmail providers - Wikipedia, the free encyclopedia]&lt;br /&gt;
* [[Email testing]]&lt;br /&gt;
&lt;br /&gt;
== 相關新聞聯播 ==&lt;br /&gt;
&lt;br /&gt;
{{News feed | title = 電子郵件 OR email OR 團隊溝通 相關新聞聯播 | feed = &amp;lt;rss&amp;gt;https://news.google.com/rss/search?q=%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6+OR+email+OR+%E5%9C%98%E9%9A%8A%E6%BA%9D%E9%80%9A&amp;amp;hl=zh-TW&amp;amp;gl=TW&amp;amp;ceid=TW:zh-Hant&amp;lt;/rss&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
 &amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Email]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Email_testing&amp;diff=26432</id>
		<title>Email testing</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Email_testing&amp;diff=26432"/>
		<updated>2026-08-11T02:25:06Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* For role: web developers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;← [[Testing]]&lt;br /&gt;
&lt;br /&gt;
== For role: users ==&lt;br /&gt;
Using the following e-mail service with name alias or alternative name&lt;br /&gt;
* [https://gmail.google.com/ Google Gmail]: plus sign {{exclaim}} the plus sign is not allowed by some websites&lt;br /&gt;
* Suggest search keyword: [http://lmgtfy.com/?q=anonymous%20email anonymous email]、拋棄式信箱 (Disposable Email) e.g. &#039;&#039;$&#039;&#039; [http://doc.mail2000.com.tw/edm/o_act/virtual/htm/faq.htm Ｍail2000拋棄式帳號：全新網域 輕鬆拋棄 廣告信Bye-bye！]&lt;br /&gt;
* &#039;&#039;服務停止&#039;&#039;&amp;lt;ref&amp;gt;[https://support.microsoft.com/zh-tw/help/12407/microsoft-account-manage-aliases 管理您 Microsoft 帳戶上的別名]&amp;lt;/ref&amp;gt; [http://get.live.com/mail/overview Windows Live™ Hotmail]: [http://windows.microsoft.com/zh-TW/hotmail/conquergraymail/advanced/alias Alias] / 在一個收件匣建立多個別名 {{access | date=2012-03-30}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== For role: web developers ==&lt;br /&gt;
* {{Gd}} [https://www.caniemail.com/ Can I email… Support tables for HTML and CSS in emails] {{access | date=2026-04-24}} e.g. [https://www.caniemail.com/features/image-webp/ Can I email… webP image format]&lt;br /&gt;
* [[Troubleshooting of PHP errors#錯誤訊息: SMTP Error: Could not connect to SMTP host.]]&lt;br /&gt;
&lt;br /&gt;
== For role: system administrator ==&lt;br /&gt;
If you have the telnet permission,&lt;br /&gt;
* Suggest search keyword: [http://lmgtfy.com/?q=smtp%20telnet%20test smtp telnet test]&lt;br /&gt;
* [https://technet.microsoft.com/zh-tw/library/aa995718(v=exchg.65).aspx 如何使用 Telnet 來測試 SMTP 通訊]&lt;br /&gt;
* [https://support.google.com/mail/answer/78775?hl=zh-Hant 使用 POP 或 IMAP 傳送郵件時發生問題 - Gmail說明] {{access | date = 2016-08-08}}&lt;br /&gt;
* [http://www.xspace.idv.tw/bo_blog/post/85/ Outlook 錯誤代碼的含義及解決辦法] {{access | date = 2016-12-22}}&lt;br /&gt;
&lt;br /&gt;
是否可以連線到 SMTP 主機{{kbd | key =&amp;lt;nowiki&amp;gt;nslookup smtp.gmail.com&amp;lt;/nowiki&amp;gt; }} 或 {{kbd | key =&amp;lt;nowiki&amp;gt;telnet smtp.gmail.com port&amp;lt;/nowiki&amp;gt; }} (例子中以 gmail 作為 smtp 伺服器)&lt;br /&gt;
{{kbd | key =&amp;lt;nowiki&amp;gt;telnet smtp.gmail.com 465&amp;lt;/nowiki&amp;gt; }} 預期結果：&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying 74.125.129.109...&lt;br /&gt;
Connected to smtp.gmail.com.&lt;br /&gt;
Escape character is &#039;^]&#039;.&lt;br /&gt;
^] //註：(Windows) 輸入 ctrl + ] 兩個按鍵，(Mac) 輸入 control + ] 兩個按鍵&lt;br /&gt;
telnet&amp;gt; quit&lt;br /&gt;
Connection closed.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
非預期結果：請調整防火牆設定&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Trying x.x.x.x...&lt;br /&gt;
telnet: connect to address x.x.x.x: Connection refused&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Web Dev]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26431</id>
		<title>Capacity of Email Service</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Capacity_of_Email_Service&amp;diff=26431"/>
		<updated>2026-08-11T02:25:03Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 相關頁面 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;單封信件 (含夾帶檔案) 的檔案大小上限 (maximum attachment size) 與建議&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Email服務每封郵件的檔案大小上限 ==&lt;br /&gt;
&#039;&#039;&#039;建議&#039;&#039;&#039;:&lt;br /&gt;
* 檔案大小 (file size) 控制在&#039;&#039;&#039;6-10MB&#039;&#039;&#039;: 因為信件夾帶的檔案經過編碼([http://en.wikipedia.org/wiki/MIME MIME] encode)後，會導致檔案大小變大，所以寄信時的信件(含夾帶的檔案)檔案大小建議能控制在上限的三分之二，即6-10MB，以免被退信。&lt;br /&gt;
* 超過10MB的檔案，可以考慮使用將附檔[[File compression|壓縮]] 或放在Web、FTP、[http://en.wikipedia.org/wiki/Comparison_of_one-click_hosters 線上檔案儲存網站]、[[Snapchat of file sharing | 閱後即焚檔案分享服務]] ex: [https://drive.google.com/ Google Drive] 單一檔案限 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant&amp;amp;vid=1-635756751147519182-13007898089037315163 檔案大小 - 雲端硬碟說明] {{access | date = 2015-08-20}}&amp;lt;/ref&amp;gt;, DropBox 單一檔案限2GB&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/5 Dropbox 是否有檔案大小的限制或上限？ (Dropbox 說明中心)]&amp;lt;/ref&amp;gt;, [http://www.mediafire.com/ MediaFire](非圖檔的單一檔案限200MB), [http://www.yousendit.com/ YouSendIt](單一檔案限100MB) ...。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;width:100%; min-height: .01%; overflow-x: auto;&amp;quot;&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|| &amp;lt;b&amp;gt;網站名稱&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;單封信件(含夾帶檔案)的檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;建議的夾帶檔案上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;信箱總容量上限&amp;lt;/b&amp;gt;&lt;br /&gt;
|| &amp;lt;b&amp;gt;備註(拜訪日期)&amp;lt;/b&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.aol.com/ AOL Mail](免費)&lt;br /&gt;
|| 16MB&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=221717 Cannot send email attachments or embedded files on AOL WebMail- AOL Help]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 10MB&lt;br /&gt;
|| 超過2GB，輸入檢核碼即可增加空間&amp;lt;ref&amp;gt;[http://help.aol.com/help/microsites/microsite.do?cmd=displayKCPopup&amp;amp;docType=kc&amp;amp;externalId=218743 How do I save my emails in AOL WebMail?- AOL Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2010-09-11&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [https://gmail.google.com/ Google Gmail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://mail.google.com/support/bin/answer.py?answer=8770&amp;amp;topic=1516 Maximum attachment size - Gmail Help]  &amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過25MB可上傳至Google Drive，最多到 5TB&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt; )&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 15G(免費服務)/ 100GB-30TB(付費服務)&amp;lt;ref&amp;gt;[http://mail.google.com/support/bin/answer.py?hl=en&amp;amp;answer=39567 Google Storage - Gmail Help] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://www.mail.lycos.com/ Lycos Mail] (免費)&lt;br /&gt;
|| 35MB&amp;lt;ref&amp;gt;[https://cshelp.lycos.com/ics/support/KBAnswer.asp?questionID=73 Is there a limit to the size of the emails that I can send? - Lycos.com Helpdesk]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 21MB&lt;br /&gt;
|| 3G(free) ~ 5G(paid)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail.com/intl/ Mail.com](免費/付費服務)&lt;br /&gt;
|| 50MB&amp;lt;ref&amp;gt;[http://help.mail.com/index.html Mail.com FAQ] - What is the maximum size for sending and receiving email? &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.mail2000.com.tw/ Mail2000](付費服務)&lt;br /&gt;
|| 40MB&amp;lt;ref&amp;gt;[http://doc.mail2000.com.tw/m2k/faq_about_a1-3.htm 單封信件傳輸量及我的檔案的容量有多少？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| 500MB~12GB&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://mail.pchome.com.tw/ PChome Online](免費)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://faq.pchome.com.tw/faq_solution.html?f_id=1&amp;amp;q_id=6&amp;amp;c_nickname=mail PC home E-Mail 是否有容量等限制？] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 250MB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://webmail.seed.net.tw/Login.do Seednet](付費服務)&lt;br /&gt;
|| 10MB&amp;lt;ref&amp;gt;[http://webmail.seed.net.tw/web/rule.htm Seednet Webmail使用規範] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB&lt;br /&gt;
|| 2G&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [http://www.url.com.tw/emailstore/index.htm URL智邦生活館](付費服務)&lt;br /&gt;
|| 10MB(付費服務]&amp;lt;ref&amp;gt;[http://vipmail.url.com.tw/vipmail.asp?q=1 URL 智邦生活館 VIP Mail 常見問題集] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 6MB(付費服務)&lt;br /&gt;
|| 2000MB(付費服務)&lt;br /&gt;
|| 2011-11-06&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|| [https://outlook.com outlook.com](免費) 前 hotmail&lt;br /&gt;
|| 34MB&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/Attach-files-in-Outlook-com-8d7c1ea7-4e5f-44ce-bb6e-c5fcc92ba9ab Attach files in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;&amp;lt;br /&amp;gt; (超過可上傳至OneDrive，最多到 15GB(免費) ~ 50GB(付費)&amp;lt;ref&amp;gt;[https://support.office.com/en-us/article/storage-limits-in-outlook-com-7ac99134-69e5-4619-ac0b-2d313bba5e9e?ui=en-US&amp;amp;rs=en-US&amp;amp;ad=US Storage limits in Outlook.com - Outlook]&amp;lt;/ref&amp;gt;)&lt;br /&gt;
|| 20MB+&lt;br /&gt;
|| &lt;br /&gt;
|| 2018-08-25&lt;br /&gt;
|-&lt;br /&gt;
| {{Gd}}&lt;br /&gt;
|| [http://mail.yahoo.com.tw/ Yahoo!奇摩電子信箱](免費/付費服務)&lt;br /&gt;
|| 25MB(免費/付費服務)&amp;lt;ref&amp;gt;[https://tw.help.yahoo.com/kb/%E4%BF%A1%E4%BB%B6%E5%A4%A7%E5%B0%8F-%E9%99%90%E5%88%B6-sln5673.html 信件大小限制]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB(免費/付費服務)&lt;br /&gt;
|| 1TB&lt;br /&gt;
|| 2018-04-21&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [https://protonmail.com/ ProtonMail](免費/付費服務)&lt;br /&gt;
|| 25MB&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/attaching-multiple-documents-to-a-message/ Attaching documents to a message and limits - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 15MB&lt;br /&gt;
|| 500MB(免費服務)、5~20GB(免費/付費服務)&amp;lt;ref&amp;gt;[https://protonmail.com/support/knowledge-base/paid-plans/ ProtonMail Plans Explained (Free, Paid, Visionary) - ProtonMail Support]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2016-11-12&lt;br /&gt;
|-&lt;br /&gt;
| &lt;br /&gt;
|| [http://mail.qq.com/ QQ邮箱] 腾讯邮箱服务 (免費服務)&lt;br /&gt;
|| 50MB &amp;lt;br /&amp;gt; 超過限制可上傳至雲端硬碟，最多到 2GB &amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=11&amp;amp;&amp;amp;no=130 一封邮件可以发送多个附件吗？_QQ邮箱帮助中心] &amp;amp; [http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;id=35&amp;amp;&amp;amp;no=206 什么是文件中转站？_QQ邮箱帮助中心] &amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 30MB&lt;br /&gt;
|| &#039;&#039;&#039;未限制&#039;&#039;&#039;&amp;lt;ref&amp;gt;[http://service.mail.qq.com/cgi-bin/help?subtype=1&amp;amp;&amp;amp;no=103&amp;amp;&amp;amp;id=22 QQ邮箱的容量和附件有多大？_QQ邮箱帮助中心]&amp;lt;/ref&amp;gt;&lt;br /&gt;
|| 2018-04-29&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
寄信到 hotmail 收到回信「Delivery Status Notification (Failure)」&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
伺服器的回應如下：&lt;br /&gt;
552 Too much mail data.(31457280 bytes bounded)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
訊息中「31457280 bytes」相當於 31 MB。實際信件的附檔檔案大小約 24 MB，因此需要如上表建議調整到 20 MB 或者是直接上傳到雲端硬碟空間。&lt;br /&gt;
&lt;br /&gt;
== 夾檔的檔案類型 ==&lt;br /&gt;
{{exclaim}} 如果夾檔的檔案類型是執行檔 ( .exe )、程式 ( .jar ) 等，可能會因為安全原因，遭到 Gmail 封鎖，而無法下載附檔&amp;lt;ref&amp;gt;[https://support.google.com/mail/answer/6590?hl=zh-Hant 部分檔案類型遭到封鎖 - Gmail說明]&amp;lt;/ref&amp;gt;。可以將檔案壓縮後改放到雲端硬碟 Google 雲端硬碟&amp;lt;ref&amp;gt;[https://support.google.com/drive/answer/37603?hl=zh-Hant Google 雲端硬碟可存放的檔案 - 雲端硬碟說明]&amp;lt;/ref&amp;gt;、Dropbox&amp;lt;ref&amp;gt;[https://www.dropbox.com/help/145 為什麼某些檔案無法從一台電腦同步到另一台電腦上？ - Dropbox 說明 - Dropbox]&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 相關頁面 ==&lt;br /&gt;
* {{Gd}} [[Procedure_of_campus_event#email | email 溝通途徑的注意事項]]&lt;br /&gt;
* [[Anti Spam Email|防制廣告信件]]&lt;br /&gt;
* [[User_agent#Mail_user_clients_.2F_Mail_user_agents |mail user client]]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Comparison_of_webmail_providers Comparison of webmail providers - Wikipedia, the free encyclopedia]&lt;br /&gt;
&lt;br /&gt;
== 相關新聞聯播 ==&lt;br /&gt;
&lt;br /&gt;
{{News feed | title = 電子郵件 OR email OR 團隊溝通 相關新聞聯播 | feed = &amp;lt;rss&amp;gt;https://news.google.com/rss/search?q=%E9%9B%BB%E5%AD%90%E9%83%B5%E4%BB%B6+OR+email+OR+%E5%9C%98%E9%9A%8A%E6%BA%9D%E9%80%9A&amp;amp;hl=zh-TW&amp;amp;gl=TW&amp;amp;ceid=TW:zh-Hant&amp;lt;/rss&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
 &amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Email]] [[Category:Tool]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=I_need_inspiration&amp;diff=26430</id>
		<title>I need inspiration</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=I_need_inspiration&amp;diff=26430"/>
		<updated>2026-08-10T04:05:44Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Misc. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I need inspiration for design purpose&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Classification ==&lt;br /&gt;
=== Show cases / UI / APP design ===&lt;br /&gt;
* [https://dribbble.com/shots?sort=views Popular show cases on dribbble.com]: &amp;quot;Web designers, graphic designers, illustrators, icon artists, typographers, logo designers, and other creative types share small screenshots (shots) that show their work, process, and current projects.&amp;quot; &amp;lt;ref&amp;gt;[http://dribbble.com/site/about Dribbble - About]&amp;lt;/ref&amp;gt; {{access | date = 2023-01-04}}&lt;br /&gt;
** 「專門為平面設計師和創意專業人士設立。這個網站提供了一個展示和發現創意作品的空間，涵蓋了各種設計類別，如網頁設計、品牌、動畫和插畫等。可以按顏色、標籤和時間篩選內容，方便使用者發現特定的設計風格或趨勢。Dribbble 也為設計師們提供了一個交流想法、分享作品和相互獲得靈感的空間。」Made with GPT-4 🤖 &lt;br /&gt;
* [https://www.behance.net/ Behance 在线作品集]: [https://www.behance.net/search?field=132&amp;amp;content=projects&amp;amp;sort=appreciations&amp;amp;time=week UI/UX projects on Behance] {{access | date = 2016-06-20}}&lt;br /&gt;
** 「Adobe 旗下的創意作品集平台，涵蓋平面設計、插畫、攝影、UI/UX、動態影像等多元領域。使用者可以建立完整的專案作品集、追蹤喜愛的創作者，並依熱門程度、時間或領域篩選作品，是全球設計師展示與求職的重要平台之一。」Made with Claude 🤖&lt;br /&gt;
* [http://www.site.uplabs.com/ Web design and development, Daily – SiteUp] {{access | date = 2016-02-29}}&lt;br /&gt;
** 「每日更新的網頁設計與開發資源分享平台，內容包含 UI 素材、程式碼片段、設計靈感等，適合開發者與設計師快速獲取當日精選的實用資源與趨勢動態。」Made with Claude 🤖&lt;br /&gt;
* [http://www.heyshow.com/gallery/ 設計畫廊 | 黑秀網 HeyShow.com] {{access | date = 2015-12-10}}&lt;br /&gt;
** 「台灣早期具代表性的華文設計社群網站，畫廊區收錄插畫、平面設計、攝影等各類創作作品，讓設計師與創作者能夠展示作品集、交流創作心得，並認識台灣本地的設計圈生態。」Made with Claude 🤖&lt;br /&gt;
* [http://woofeng.cn/inspiration/web/ 黄蜂网woofeng.cn] {{access | date = 2016-09-02}}&lt;br /&gt;
** 「中國的設計靈感與素材分享網站，網頁設計欄目彙整大量國內外優秀網站作品，並延伸提供平面、UI、攝影等相關教學與資源下載，是簡體中文使用者常用的設計參考站台之一。」Made with Claude 🤖&lt;br /&gt;
* tool: [https://chrome.google.com/webstore/detail/panda-5-news-inspiration/haafibkemckmbknhfkiiniobjpgkebko Panda 5 | News &amp;amp; Inspiration Dashboard] on {{Chrome}}&lt;br /&gt;
** 「一款 Chrome 瀏覽器擴充功能，將新分頁轉換為設計靈感儀表板，整合多個設計新聞與作品展示網站的最新內容，讓使用者一開啟瀏覽器就能瀏覽當日的設計趨勢與新聞。」Made with Claude 🤖&lt;br /&gt;
* CodePen: Explore [https://codepen.io/tag/nav-bar Pens tagged &#039;nav-bar&#039; on CodePen] or browse [https://codepen.io/chriscoyier/pens/tags Chris Coyier&#039;s tagged pens on CodePen]&lt;br /&gt;
** 「前端開發者社群平台，讓使用者以 HTML、CSS、JavaScript 撰寫並即時預覽網頁作品（稱為 Pen）。可依標籤（如 nav-bar）搜尋特定元件的實作範例，是尋找互動效果與版面實作程式碼的實用資源。」Made with Claude 🤖&lt;br /&gt;
* [https://muz.li/ Muzli - Design inspiration hub]&lt;br /&gt;
** 「以瀏覽器擴充功能形式提供的設計靈感彙整工具，自動蒐集來自各大設計網站的最新作品、文章與趨勢，並整合成單一資訊流，方便設計師隨時掌握業界動態與獲取創作靈感。」Made with Claude 🤖&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://mobbin.com/ Mobbin — UI &amp;amp; UX design inspiration for mobile &amp;amp; web apps]: Find design patterns in seconds, such as screens, UI elements, flows, and text within screenshots.&lt;br /&gt;
** 「付費訂閱的 UI/UX 設計模式資料庫，收錄大量真實 App 與網站的畫面截圖，並依畫面類型、元件、使用流程等分類整理，讓設計師能快速查找特定情境（如登入、結帳）的業界實作範例。」Made with Claude 🤖&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.details.so/inspo The details behind the world&#039;s best websites.]&lt;br /&gt;
** 「付費制的網站設計拆解分析平台，深入剖析知名網站在排版、動效、色彩與互動細節上的設計決策，適合想學習頂尖網站背後設計思維、而非僅止於視覺參考的使用者。」Made with Claude 🤖&lt;br /&gt;
&lt;br /&gt;
=== Admin UI Design Showcase ===&lt;br /&gt;
Seeking quality admin dashboard design examples for reference.&lt;br /&gt;
&lt;br /&gt;
* [https://dribbble.com/tags/backend-dashboard Backend Dashboard designs, themes, templates and downloadable graphic elements on Dribbble]&lt;br /&gt;
* [https://elements.envato.com/web-templates/admin-templates/backend Admin Templates Backend Templates - Envato]&lt;br /&gt;
* [https://99designs.com/inspiration/designs/admin-panel Admin Panel Designs - 75+ Admin Design Ideas, Images &amp;amp; Inspiration In 2025 | 99designs]&lt;br /&gt;
* [https://www.figma.com/templates/dashboard-designs/ 50+ Free Dashboard Design Templates &amp;amp; Components | Figma]&lt;br /&gt;
* [https://www.creative-tim.com/templates/admin-dashboard 206+ Admin and Dashboard Template @ Creative Tim]&lt;br /&gt;
&lt;br /&gt;
=== Animation effect ===&lt;br /&gt;
* [https://www.designspells.com/ Design Spells · Design details that feel like magic]&lt;br /&gt;
&lt;br /&gt;
=== Awards ===&lt;br /&gt;
* [http://www.csswinner.com/ CSS Winner - Website Awards - CSS Award Gallery for Web Design Inspiration]&lt;br /&gt;
* [http://www.cssdesignawards.com/ Website Awards | CSS Awards | Best Websites In The World - CSSDA]&lt;br /&gt;
* [http://www.awwwards.com/ Awwwards - Website Awards - Best Web Design Trends] {{access | date = 2016-02-29}}&lt;br /&gt;
* [https://www.cssdesignawards.com/ CSS Design Awards - Website Awards - Best Web Design Inspiration - CSS Awards]&lt;br /&gt;
&lt;br /&gt;
=== Which design is better? ===&lt;br /&gt;
Vote by the users.&lt;br /&gt;
* [http://desinion.com/ Desinion] {{access | date = 2016-02-29}}&lt;br /&gt;
&lt;br /&gt;
=== Landing page ===&lt;br /&gt;
* [https://ryuki-design.jp/ 楽天市場のデザイン制作 リューキデザイン｜東京・大阪・福岡]&lt;br /&gt;
&lt;br /&gt;
=== Presentation ===&lt;br /&gt;
* [https://www.instagram.com/p/C0g2P5hRe4B/?igshid=ODhhZWM5NmIwOQ%3D%3D Deck.Gallery 是一個專門為設計師、創業者和市場行銷人員提供簡報設計靈感的平台。 由產品設計師 Muharrem 創建，這個平台讓你可以欣賞到來自全球的精彩設計，也歡迎你提交自己的作品，與大家分享你的創意。 如果你需要專業的設計服務，Deck.Gallery… | Instagram]&lt;br /&gt;
&lt;br /&gt;
=== Portfolio ===&lt;br /&gt;
* [https://www.bestfolios.com/home Bestfolios - UI/UX Design Portfolio Inspiration and Showcase] 收集了設計師的作品集網站，作為 UI/UX 設計師打造個人作品集時的靈感來源。 {{access | date = 2026-08-10}}&lt;br /&gt;
&lt;br /&gt;
* [https://www.awwwards.com/inspiration_search/porfolio/ Awwwards Nominees] Awwwards 網站收錄「作品集」類別的入圍與得獎網站。這些作品經過設計師社群投票得獎，可供觀摩排版、互動效果與視覺風格。 {{access | date = 2026-08-10}}&lt;br /&gt;
&lt;br /&gt;
=== Misc. ===&lt;br /&gt;
* [https://www.checklist.design/ Checklist Design - A collection of the best design practices.] 收集了最佳設計實踐 (design practice)，提供全面的收錄。該網站包括了各種設計清單，涵蓋了頁面、元素、流程、主題和品牌等方面，特別聚焦於登入頁面、部落格文章、定價、404錯誤等。 {{access | date = 2023-12-14}}&lt;br /&gt;
&lt;br /&gt;
== Community ==&lt;br /&gt;
Subscribe the fan pages or community&lt;br /&gt;
* [https://www.facebook.com/designtongue 設計大舌頭]&lt;br /&gt;
* [https://www.facebook.com/fis.workshop/ 空白地區｜Fi（Peng, Hsing Kai）]&lt;br /&gt;
* [https://www.facebook.com/somekidding 聶永真 Aaron Nieh]&lt;br /&gt;
* [https://www.facebook.com/wangzhihongstudio wangzhihong.com] 王志弘&lt;br /&gt;
* [https://www.facebook.com/ogdesign.tw 奧革設計]&lt;br /&gt;
* [https://www.facebook.com/yenpochundesign/ 三頁文]&lt;br /&gt;
* [https://www.facebook.com/loveudfish/ 愛˙通用設計的小魚]&lt;br /&gt;
* [https://www.facebook.com/ConversionLab.co/ Conversion Lab]&lt;br /&gt;
* [https://ello.co/discover Featured | Ello]&lt;br /&gt;
&lt;br /&gt;
== Style guideline &amp;amp; UI patterns ==&lt;br /&gt;
Style guideline, Design guideline , Branding guidelines, Branding design guidelines&lt;br /&gt;
* {{Gd}} &#039;&#039;&#039;Collection&#039;&#039;&#039;: [https://github.com/alexpate/awesome-design-systems alexpate/awesome-design-systems: 💅🏻 ⚒ A collection of awesome design systems]&lt;br /&gt;
* [https://playbook.cio.gov/designstandards/ U.S. Web Design Standards]&lt;br /&gt;
* Apple [https://developer.apple.com/ios/human-interface-guidelines/ iOS Human Interface Guidelines]&lt;br /&gt;
* [https://developers.google.com/web/fundamentals/resources/styleguide/ Visual Style Guide — Web Fundamentals]&lt;br /&gt;
* Google [https://material.google.com/ Material design guidelines]&lt;br /&gt;
* Salesforce [http://www.lightningdesignsystem.com/guidelines/overview/ Lightning Design System]&lt;br /&gt;
* [http://brand.uber.com/ Uber Brand Guide]&lt;br /&gt;
* [https://ant.design/ Ant Design - A UI Design Language] {{access | date =2017-05-23}}&lt;br /&gt;
* [https://atlassian.design/ Atlassian Design] {{access | date =2017-05-23}}&lt;br /&gt;
* [http://design.iing.tw/ 點亮台灣・設計規範 Web Design Guideline] 「點亮台灣 — 蔡英文・陳建仁總統候選人競選官網所制訂的網站設計規範」{{access | date =2017-03-02}} [https://web.archive.org/web/20190718224305/http://design.iing.tw/ 網頁備份]&lt;br /&gt;
* [https://codepen.io/frank890417/pen/YGKVrj Project2-Brand Guideline] {{access | date =2018-06-04}}&lt;br /&gt;
* [https://heydesign.systems/ Hey Design Systems!]&lt;br /&gt;
* [https://tiponet.tipo.gov.tw/TIPO_UIUX/ 設計規範書 Design Guideline · GitBook]&lt;br /&gt;
&lt;br /&gt;
UI patterns&lt;br /&gt;
* [https://pttrns.com/ Mobile Design Patterns - Pttrns] {{access | date = 2017-03-18}}&lt;br /&gt;
* [http://android.inspired-ui.com/ Inspired UI - Mobile Apps Design Patterns [Android]] {{access | date = 2017-03-18}}&lt;br /&gt;
* [https://ui.shadcn.com/ The Foundation for your Design System - shadcn/ui] {{access | date = 2025-10-08}}&lt;br /&gt;
&lt;br /&gt;
Collection of snapshots&lt;br /&gt;
* Follow the interests: [https://www.pinterest.com/ Pinterest: Discover and save creative ideas]&lt;br /&gt;
* [http://emptystat.es/ Empty States] examples {{access | date = 2016-06-06}}&lt;br /&gt;
&lt;br /&gt;
== Articles ==&lt;br /&gt;
* [http://www.inspireux.com/ User Experience articles and quotes to inspire and connect the UX community | inspireUX]&lt;br /&gt;
* [http://littlebigdetails.com/ Little Big Details]&lt;br /&gt;
* [http://www.creativebloq.com/tag/inspiration Latest Inspiration articles | Tags | Creative Bloq]&lt;br /&gt;
* [http://designmodo.com/ Designmodo - Web Design Blog and Shop]&lt;br /&gt;
* [https://www.quora.com/Which-websites-should-a-Front-end-developer-look-up-to-for-inspiration Which websites should a Front-end developer look up to for inspiration? - Quora]&lt;br /&gt;
&lt;br /&gt;
== Colors ==&lt;br /&gt;
* [https://coolors.co/ Coolors - The super fast color schemes generator!] Press {{kbd | key=space}} to generate the new color set&lt;br /&gt;
相關文章: [[CSS_tools#.E6.8C.91.E9.81.B8.E9.A1.8F.E8.89.B2|挑選顏色]]&lt;br /&gt;
* Pantone [https://www.pantone.com/hk/tc/color-of-the-year-2022 彩通亞太區 | Pantone Color of the Year 2022 / 介紹] {{access | date=2022-07-14}}&lt;br /&gt;
&lt;br /&gt;
== Examples of bad design ==&lt;br /&gt;
* Hashtag #badeesign on [https://www.instagram.com/explore/tags/baddesign/ Instagram 上的 #baddesign 主題標籤], [https://twitter.com/hashtag/baddesign #baddesign - Twitter 搜尋]&lt;br /&gt;
* Hashtag #NormanDoor on [https://www.instagram.com/explore/tags/normandoor/ Instagram 上的 #normandoor 主題標籤], [https://twitter.com/hashtag/normandoor #normandoor - Twitter Search]&lt;br /&gt;
* [https://www.theuncomfortable.com/ The Uncomfortable - a collection of deliberately inconvenient objects]&lt;br /&gt;
* [https://userinyerface.com/ User Inyerface - A worst-practice UI experiment]&lt;br /&gt;
* [https://hungryowl.typepad.com/webdesign/ 網站設計大不易]&lt;br /&gt;
&lt;br /&gt;
{{Tips}} [https://99percentinvisible.org/article/norman-doors-dont-know-whether-push-pull-blame-design/ Norman Doors: Don&#039;t Know Whether to Push or Pull? Blame Design. - 99% Invisible]&lt;br /&gt;
&lt;br /&gt;
== off topic ==&lt;br /&gt;
* [http://www.reddit.com/r/GetMotivated/ Get Motivated!] on reddit&lt;br /&gt;
&lt;br /&gt;
reference&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{Template:Build a website}}&lt;br /&gt;
&lt;br /&gt;
[[Category: Design]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26429</id>
		<title>Troubleshooting of GIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26429"/>
		<updated>2026-08-07T06:59:51Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Git Push Failed: Invalid username or token (GitHub No Longer Supports Password Authentication) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Troubleshooting of GIT ==&lt;br /&gt;
&lt;br /&gt;
=== Git Push Failed: Invalid username or token (GitHub No Longer Supports Password Authentication) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt; produces the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
remote: Invalid username or token. Password authentication is not supported for Git operations.&lt;br /&gt;
fatal: Authentication failed for &#039;https://github.com/your-org/your-repo/&#039;&lt;br /&gt;
&lt;br /&gt;
In a case you entered incorrect password, please&lt;br /&gt;
update it in Keychain Access application.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First check the current login status of the GitHub CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the token has expired, a message similar to the following will appear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
github.com&lt;br /&gt;
  X Failed to log in to github.com account UserName (keyring)&lt;br /&gt;
* Active account: true&lt;br /&gt;
* The token in keyring is invalid.&lt;br /&gt;
* To re-authenticate, run: gh auth login -h github.com&lt;br /&gt;
* To forget about this account, run: gh auth logout -h github.com -u UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also directly query the GitHub credentials stored in the macOS Keychain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
security find-internet-password -s github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error is typically caused by one of the following:&lt;br /&gt;
&lt;br /&gt;
* An old GitHub account password (rather than a token) is stored in the macOS Keychain, and Git&#039;s attempt to authenticate with that password fails.&lt;br /&gt;
* The Personal Access Token in the &amp;lt;code&amp;gt;gh&amp;lt;/code&amp;gt; keyring has expired, been revoked, or had its permissions changed.&lt;br /&gt;
* A token or SSH key was never set up, so Git is still falling back to the legacy password authentication flow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Re-authenticate the GitHub CLI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth login -h github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select the following options in order:&lt;br /&gt;
&lt;br /&gt;
* What is your preferred protocol for Git operations on this host? → &amp;lt;code&amp;gt;HTTPS&amp;lt;/code&amp;gt; (matches the existing remote protocol)&lt;br /&gt;
* How would you like to authenticate GitHub CLI? → &amp;lt;code&amp;gt;Login with a web browser&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A one-time code will be displayed. Copy it and press Enter; a browser window will open the GitHub device authorization page to complete the login:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! First copy your one-time code: XXXX-XXXX&lt;br /&gt;
Press Enter to open https://github.com/login/device in your browser...&lt;br /&gt;
&lt;br /&gt;
✓ Authentication complete.&lt;br /&gt;
* gh config set -h github.com git_protocol https&lt;br /&gt;
✓ Configured git protocol&lt;br /&gt;
✓ Logged in as UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Git Shows Files as Modified After chmod — File Mode Changes ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or copying the repository between different operating systems or file systems, Git may report files as modified even though their contents have not changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
modified: scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git diff&amp;lt;/code&amp;gt; may show only a file mode change:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/scripts/deploy.sh b/scripts/deploy.sh&lt;br /&gt;
old mode 100644&lt;br /&gt;
new mode 100755&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Git file modes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;100644&amp;lt;/code&amp;gt; means a regular non-executable file.&lt;br /&gt;
* &amp;lt;code&amp;gt;100755&amp;lt;/code&amp;gt; means a regular executable file.&lt;br /&gt;
&lt;br /&gt;
Git records the executable bit as part of the tracked file metadata. Therefore, adding or removing executable permission can appear as a modification even when the file contents are identical. Git’s diff format explicitly reports these changes as &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the following command to check whether the reported changes are file mode changes only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also inspect the full diff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output contains only &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;, without added or removed content lines, the change is caused by the executable bit rather than file contents.&lt;br /&gt;
&lt;br /&gt;
Check the current repository setting with: &amp;lt;ref&amp;gt;[https://git-scm.com/docs/git-config?utm_source=chatgpt.com Git - git-config Documentation]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see which configuration file defines the value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --show-origin --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The behavior is controlled by Git’s &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
&lt;br /&gt;
When it is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, Git checks whether the executable bit in the working tree differs from the mode stored in the Git index. This can create unexpected changes when:&lt;br /&gt;
&lt;br /&gt;
* A file was modified using &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A repository was copied between Linux, macOS, Windows, a network drive, or another file system with different permission behavior.&lt;br /&gt;
* An archive, synchronization tool, or shared folder changed executable permissions.&lt;br /&gt;
* A container or deployment process rewrote file modes.&lt;br /&gt;
&lt;br /&gt;
Git’s documentation notes that some file systems may not reliably preserve executable-bit information, which is why &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; can be disabled when those mode differences should not be trusted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To ignore executable-permission changes in the current repository, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the recommended scope when the issue affects only one repository. The setting is saved in that repository’s &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
To apply the setting to all repositories for the current user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The global setting is stored in the user-level Git configuration and acts as a fallback unless a repository overrides it.&lt;br /&gt;
&lt;br /&gt;
Verify the effective value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then check the repository again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permission-only changes should no longer appear as unstaged modifications.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restore File Mode Tracking&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To restore executable-bit tracking for the current repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the repository-specific override and return to the global or system default:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --unset core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restore tracking globally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When the Executable Bit Should Be Committed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not disable &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; merely to hide a legitimate permission change.&lt;br /&gt;
&lt;br /&gt;
For shell scripts, deployment scripts, Git hooks, command-line tools, and other files that must be executable after checkout, record the executable bit in Git intentionally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x scripts/deploy.sh&lt;br /&gt;
git add scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The committed mode change will appear as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the local file system cannot apply &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt; correctly, update the Git index directly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=+x scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove executable status from the Git index:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=-x scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git provides index-level support for explicitly overriding a tracked file’s executable bit.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: Setting &amp;lt;code&amp;gt;core.fileMode=false&amp;lt;/code&amp;gt; does not change the actual operating-system permissions and does not rewrite previously committed file modes. It only tells Git not to treat executable-bit differences in the working tree as modifications. Use a repository-level setting unless the same problem consistently affects all repositories on the machine.&lt;br /&gt;
&lt;br /&gt;
=== Git Submodule Pull Failed: unable to create file — File exists ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After pulling in GitHub Desktop, met the error message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fetching submodule lib&lt;br /&gt;
error: unable to create file feeds/example.php: File exists&lt;br /&gt;
Updating xxxxxxxx..xxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Git tries to update the submodule to a newer commit, it finds a local untracked file with the same name, blocking the checkout. A mid-pull failure leaves the submodule in an inconsistent state and causes a large number of unexpected unstaged changes to appear in GitHub Desktop.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run the following command in the project root directory to force re-sync the submodule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git submodule update --init --recursive --force&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it still fails, manually remove the conflicting file and retry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm lib/feeds/example.php&lt;br /&gt;
git submodule update --init --recursive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the submodule directory and verify the status is clean:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd lib&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output should be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HEAD detached from xxxxxxxx&lt;br /&gt;
nothing to commit, working tree clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
`nothing to commit, working tree clean` confirms the submodule has been successfully synced — return to GitHub Desktop and continue as normal. `HEAD detached` is the expected state for a submodule and does not require any action.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: The large number of unstaged changes appearing in GitHub Desktop after a failed Pull will typically return to normal once the submodule is fixed. If unexpected changes still remain, run &amp;lt;code&amp;gt;git submodule foreach git checkout .&amp;lt;/code&amp;gt; to revert all modifications inside every submodule.&lt;br /&gt;
&lt;br /&gt;
=== Restoring deleted files in Git ===&lt;br /&gt;
[[Restoring deleted files in Git]]&lt;br /&gt;
&lt;br /&gt;
=== SSH Authentication Failed: Permission denied (publickey) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you may see the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cloning into &#039;/opt/your-app&#039;...&lt;br /&gt;
git@github.com: Permission denied (publickey).&lt;br /&gt;
fatal: Could not read from remote repository.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have the correct access rights and the repository exists.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A similar error may also occur when running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error occurs when Git cannot authenticate with GitHub over SSH.&lt;br /&gt;
&lt;br /&gt;
Common causes include:&lt;br /&gt;
&lt;br /&gt;
* The SSH key does not exist on the server.&lt;br /&gt;
* The SSH key has not been added to GitHub.&lt;br /&gt;
* The SSH key is added to the wrong GitHub account or the wrong repository.&lt;br /&gt;
* The repository is private and the key does not have access.&lt;br /&gt;
* The server has multiple SSH keys, but Git is using the wrong one.&lt;br /&gt;
* The key is a GitHub Deploy Key that belongs to another repository.&lt;br /&gt;
* `sudo git clone` or `sudo git pull` is being used, causing Git to use the `root` user&#039;s SSH key instead of the deploy user&#039;s SSH key.&lt;br /&gt;
&lt;br /&gt;
For example, if you run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current SSH key is valid, but it is linked to another repository&#039;s Deploy Key. In that case, GitHub may return:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERROR: Repository not found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
even if the target repository URL is correct.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended Solution — Use a dedicated SSH alias for the project&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the safest approach when the server has multiple GitHub Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
Assume:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Deploy user: your-user&lt;br /&gt;
App path: /opt/your-app&lt;br /&gt;
Private key: /home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
Public key: /home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
Repository: git@github.com:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1 — Check the key exists&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -l ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the key does not exist, create one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -C &amp;quot;your-app-deploy-key&amp;quot; -f ~/.ssh/id_ed25519_your_app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2 — Add the public key to GitHub&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Print the public key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add it to the target repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub Repository&lt;br /&gt;
→ Settings&lt;br /&gt;
→ Deploy keys&lt;br /&gt;
→ Add deploy key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the server only needs to clone or pull the repository, do not enable write access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3 — Configure SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Edit the SSH config file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host github-your-app&lt;br /&gt;
  HostName github.com&lt;br /&gt;
  User git&lt;br /&gt;
  IdentityFile ~/.ssh/id_ed25519_your_app&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fix SSH file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 700 ~/.ssh&lt;br /&gt;
chmod 600 ~/.ssh/config ~/.ssh/id_ed25519_your_app&lt;br /&gt;
chmod 644 ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; should be accessible only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/config/&amp;lt;/code&amp;gt; should be readable/writable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app&amp;lt;/code&amp;gt; private key should be readable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app.pub&amp;lt;/code&amp;gt; public key can be readable by others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4 — Test the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is expected. It means SSH authentication works, but GitHub does not allow interactive shell login.&lt;br /&gt;
&lt;br /&gt;
If the result shows another repository, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the alias is not using the intended key, or the key was added to the wrong repository.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5 — Clone using the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Instead of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If `/opt/your-app` requires root permission to create, prefer creating the directory first and assigning ownership to the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /opt/your-app&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This avoids using `sudo git clone`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6 — If the repository already exists, update the remote URL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the current remote:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it uses the default GitHub host:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change it to use the SSH alias:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avoid using sudo with Git&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because `sudo` runs Git as `root`, Git may use root&#039;s SSH keys instead of the deploy user&#039;s SSH keys.&lt;br /&gt;
&lt;br /&gt;
If the app directory is owned by `root`, fix ownership instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run Git commands as the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related Issue: dubious ownership&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If Git shows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fatal: detected dubious ownership in repository at &#039;/opt/your-app&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current user and the repository owner do not match.&lt;br /&gt;
&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -ld /opt/your-app&lt;br /&gt;
whoami&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the app should be maintained by the deploy user, fix ownership:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, mark the directory as safe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global --add safe.directory /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For deployment directories, fixing ownership is usually cleaner if the deploy user is expected to run `git pull`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Solution — Pass the SSH key inline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can also override the SSH command directly.&lt;br /&gt;
&lt;br /&gt;
First, test the key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run this with `sudo`, preserve the environment explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this is usually less clean than using an SSH alias, especially for long-term maintenance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notice&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-o IdentitiesOnly=yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
forces SSH to use only the specified key and prevents SSH from trying other keys loaded in the agent. This is important on servers with multiple Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recommended long-term setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Create or confirm a dedicated deploy key&lt;br /&gt;
ls ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&lt;br /&gt;
# 2. Add the public key to the target GitHub repository Deploy Keys&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&lt;br /&gt;
# 3. Configure SSH alias&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
# 4. Test alias&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&lt;br /&gt;
# 5. Clone or update remote using alias&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&lt;br /&gt;
# or, for an existing repo&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key lesson is: when multiple Deploy Keys exist on the same server, avoid relying on `git@github.com`. Use a project-specific SSH alias such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Git always uses the correct SSH key.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent Generating a new SSH key and adding it to the ssh-agent - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account Adding a new SSH key to your GitHub account - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection Testing your SSH connection - GitHub Docs]&lt;br /&gt;
* [https://linux.die.net/man/5/ssh_config ssh_config(5): OpenSSH SSH client config files - Linux man page]&lt;br /&gt;
* [https://docs.github.com/en/authentication/troubleshooting-ssh Troubleshooting SSH - GitHub Docs]&lt;br /&gt;
&lt;br /&gt;
[[Category: Git]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26428</id>
		<title>Troubleshooting of GIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26428"/>
		<updated>2026-08-07T06:59:21Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Troubleshooting of GIT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Troubleshooting of GIT ==&lt;br /&gt;
&lt;br /&gt;
=== Git Push Failed: Invalid username or token (GitHub No Longer Supports Password Authentication) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt; produces the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
remote: Invalid username or token. Password authentication is not supported for Git operations.&lt;br /&gt;
fatal: Authentication failed for &#039;https://github.com/team_name/repo_name/&#039;&lt;br /&gt;
&lt;br /&gt;
In a case you entered incorrect password, please&lt;br /&gt;
update it in Keychain Access application.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First check the current login status of the GitHub CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the token has expired, a message similar to the following will appear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
github.com&lt;br /&gt;
  X Failed to log in to github.com account UserName (keyring)&lt;br /&gt;
* Active account: true&lt;br /&gt;
* The token in keyring is invalid.&lt;br /&gt;
* To re-authenticate, run: gh auth login -h github.com&lt;br /&gt;
* To forget about this account, run: gh auth logout -h github.com -u UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also directly query the GitHub credentials stored in the macOS Keychain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
security find-internet-password -s github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error is typically caused by one of the following:&lt;br /&gt;
&lt;br /&gt;
* An old GitHub account password (rather than a token) is stored in the macOS Keychain, and Git&#039;s attempt to authenticate with that password fails.&lt;br /&gt;
* The Personal Access Token in the &amp;lt;code&amp;gt;gh&amp;lt;/code&amp;gt; keyring has expired, been revoked, or had its permissions changed.&lt;br /&gt;
* A token or SSH key was never set up, so Git is still falling back to the legacy password authentication flow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Re-authenticate the GitHub CLI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth login -h github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select the following options in order:&lt;br /&gt;
&lt;br /&gt;
* What is your preferred protocol for Git operations on this host? → &amp;lt;code&amp;gt;HTTPS&amp;lt;/code&amp;gt; (matches the existing remote protocol)&lt;br /&gt;
* How would you like to authenticate GitHub CLI? → &amp;lt;code&amp;gt;Login with a web browser&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A one-time code will be displayed. Copy it and press Enter; a browser window will open the GitHub device authorization page to complete the login:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! First copy your one-time code: XXXX-XXXX&lt;br /&gt;
Press Enter to open https://github.com/login/device in your browser...&lt;br /&gt;
&lt;br /&gt;
✓ Authentication complete.&lt;br /&gt;
* gh config set -h github.com git_protocol https&lt;br /&gt;
✓ Configured git protocol&lt;br /&gt;
✓ Logged in as UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Git Shows Files as Modified After chmod — File Mode Changes ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or copying the repository between different operating systems or file systems, Git may report files as modified even though their contents have not changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
modified: scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git diff&amp;lt;/code&amp;gt; may show only a file mode change:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/scripts/deploy.sh b/scripts/deploy.sh&lt;br /&gt;
old mode 100644&lt;br /&gt;
new mode 100755&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Git file modes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;100644&amp;lt;/code&amp;gt; means a regular non-executable file.&lt;br /&gt;
* &amp;lt;code&amp;gt;100755&amp;lt;/code&amp;gt; means a regular executable file.&lt;br /&gt;
&lt;br /&gt;
Git records the executable bit as part of the tracked file metadata. Therefore, adding or removing executable permission can appear as a modification even when the file contents are identical. Git’s diff format explicitly reports these changes as &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the following command to check whether the reported changes are file mode changes only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also inspect the full diff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output contains only &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;, without added or removed content lines, the change is caused by the executable bit rather than file contents.&lt;br /&gt;
&lt;br /&gt;
Check the current repository setting with: &amp;lt;ref&amp;gt;[https://git-scm.com/docs/git-config?utm_source=chatgpt.com Git - git-config Documentation]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see which configuration file defines the value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --show-origin --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The behavior is controlled by Git’s &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
&lt;br /&gt;
When it is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, Git checks whether the executable bit in the working tree differs from the mode stored in the Git index. This can create unexpected changes when:&lt;br /&gt;
&lt;br /&gt;
* A file was modified using &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A repository was copied between Linux, macOS, Windows, a network drive, or another file system with different permission behavior.&lt;br /&gt;
* An archive, synchronization tool, or shared folder changed executable permissions.&lt;br /&gt;
* A container or deployment process rewrote file modes.&lt;br /&gt;
&lt;br /&gt;
Git’s documentation notes that some file systems may not reliably preserve executable-bit information, which is why &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; can be disabled when those mode differences should not be trusted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To ignore executable-permission changes in the current repository, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the recommended scope when the issue affects only one repository. The setting is saved in that repository’s &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
To apply the setting to all repositories for the current user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The global setting is stored in the user-level Git configuration and acts as a fallback unless a repository overrides it.&lt;br /&gt;
&lt;br /&gt;
Verify the effective value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then check the repository again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permission-only changes should no longer appear as unstaged modifications.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restore File Mode Tracking&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To restore executable-bit tracking for the current repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the repository-specific override and return to the global or system default:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --unset core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restore tracking globally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When the Executable Bit Should Be Committed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not disable &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; merely to hide a legitimate permission change.&lt;br /&gt;
&lt;br /&gt;
For shell scripts, deployment scripts, Git hooks, command-line tools, and other files that must be executable after checkout, record the executable bit in Git intentionally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x scripts/deploy.sh&lt;br /&gt;
git add scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The committed mode change will appear as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the local file system cannot apply &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt; correctly, update the Git index directly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=+x scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove executable status from the Git index:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=-x scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git provides index-level support for explicitly overriding a tracked file’s executable bit.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: Setting &amp;lt;code&amp;gt;core.fileMode=false&amp;lt;/code&amp;gt; does not change the actual operating-system permissions and does not rewrite previously committed file modes. It only tells Git not to treat executable-bit differences in the working tree as modifications. Use a repository-level setting unless the same problem consistently affects all repositories on the machine.&lt;br /&gt;
&lt;br /&gt;
=== Git Submodule Pull Failed: unable to create file — File exists ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After pulling in GitHub Desktop, met the error message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fetching submodule lib&lt;br /&gt;
error: unable to create file feeds/example.php: File exists&lt;br /&gt;
Updating xxxxxxxx..xxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Git tries to update the submodule to a newer commit, it finds a local untracked file with the same name, blocking the checkout. A mid-pull failure leaves the submodule in an inconsistent state and causes a large number of unexpected unstaged changes to appear in GitHub Desktop.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run the following command in the project root directory to force re-sync the submodule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git submodule update --init --recursive --force&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it still fails, manually remove the conflicting file and retry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm lib/feeds/example.php&lt;br /&gt;
git submodule update --init --recursive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the submodule directory and verify the status is clean:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd lib&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output should be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HEAD detached from xxxxxxxx&lt;br /&gt;
nothing to commit, working tree clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
`nothing to commit, working tree clean` confirms the submodule has been successfully synced — return to GitHub Desktop and continue as normal. `HEAD detached` is the expected state for a submodule and does not require any action.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: The large number of unstaged changes appearing in GitHub Desktop after a failed Pull will typically return to normal once the submodule is fixed. If unexpected changes still remain, run &amp;lt;code&amp;gt;git submodule foreach git checkout .&amp;lt;/code&amp;gt; to revert all modifications inside every submodule.&lt;br /&gt;
&lt;br /&gt;
=== Restoring deleted files in Git ===&lt;br /&gt;
[[Restoring deleted files in Git]]&lt;br /&gt;
&lt;br /&gt;
=== SSH Authentication Failed: Permission denied (publickey) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you may see the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cloning into &#039;/opt/your-app&#039;...&lt;br /&gt;
git@github.com: Permission denied (publickey).&lt;br /&gt;
fatal: Could not read from remote repository.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have the correct access rights and the repository exists.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A similar error may also occur when running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error occurs when Git cannot authenticate with GitHub over SSH.&lt;br /&gt;
&lt;br /&gt;
Common causes include:&lt;br /&gt;
&lt;br /&gt;
* The SSH key does not exist on the server.&lt;br /&gt;
* The SSH key has not been added to GitHub.&lt;br /&gt;
* The SSH key is added to the wrong GitHub account or the wrong repository.&lt;br /&gt;
* The repository is private and the key does not have access.&lt;br /&gt;
* The server has multiple SSH keys, but Git is using the wrong one.&lt;br /&gt;
* The key is a GitHub Deploy Key that belongs to another repository.&lt;br /&gt;
* `sudo git clone` or `sudo git pull` is being used, causing Git to use the `root` user&#039;s SSH key instead of the deploy user&#039;s SSH key.&lt;br /&gt;
&lt;br /&gt;
For example, if you run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current SSH key is valid, but it is linked to another repository&#039;s Deploy Key. In that case, GitHub may return:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERROR: Repository not found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
even if the target repository URL is correct.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended Solution — Use a dedicated SSH alias for the project&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the safest approach when the server has multiple GitHub Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
Assume:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Deploy user: your-user&lt;br /&gt;
App path: /opt/your-app&lt;br /&gt;
Private key: /home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
Public key: /home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
Repository: git@github.com:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1 — Check the key exists&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -l ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the key does not exist, create one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -C &amp;quot;your-app-deploy-key&amp;quot; -f ~/.ssh/id_ed25519_your_app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2 — Add the public key to GitHub&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Print the public key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add it to the target repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub Repository&lt;br /&gt;
→ Settings&lt;br /&gt;
→ Deploy keys&lt;br /&gt;
→ Add deploy key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the server only needs to clone or pull the repository, do not enable write access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3 — Configure SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Edit the SSH config file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host github-your-app&lt;br /&gt;
  HostName github.com&lt;br /&gt;
  User git&lt;br /&gt;
  IdentityFile ~/.ssh/id_ed25519_your_app&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fix SSH file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 700 ~/.ssh&lt;br /&gt;
chmod 600 ~/.ssh/config ~/.ssh/id_ed25519_your_app&lt;br /&gt;
chmod 644 ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; should be accessible only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/config/&amp;lt;/code&amp;gt; should be readable/writable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app&amp;lt;/code&amp;gt; private key should be readable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app.pub&amp;lt;/code&amp;gt; public key can be readable by others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4 — Test the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is expected. It means SSH authentication works, but GitHub does not allow interactive shell login.&lt;br /&gt;
&lt;br /&gt;
If the result shows another repository, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the alias is not using the intended key, or the key was added to the wrong repository.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5 — Clone using the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Instead of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If `/opt/your-app` requires root permission to create, prefer creating the directory first and assigning ownership to the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /opt/your-app&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This avoids using `sudo git clone`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6 — If the repository already exists, update the remote URL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the current remote:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it uses the default GitHub host:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change it to use the SSH alias:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avoid using sudo with Git&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because `sudo` runs Git as `root`, Git may use root&#039;s SSH keys instead of the deploy user&#039;s SSH keys.&lt;br /&gt;
&lt;br /&gt;
If the app directory is owned by `root`, fix ownership instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run Git commands as the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related Issue: dubious ownership&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If Git shows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fatal: detected dubious ownership in repository at &#039;/opt/your-app&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current user and the repository owner do not match.&lt;br /&gt;
&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -ld /opt/your-app&lt;br /&gt;
whoami&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the app should be maintained by the deploy user, fix ownership:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, mark the directory as safe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global --add safe.directory /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For deployment directories, fixing ownership is usually cleaner if the deploy user is expected to run `git pull`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Solution — Pass the SSH key inline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can also override the SSH command directly.&lt;br /&gt;
&lt;br /&gt;
First, test the key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run this with `sudo`, preserve the environment explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this is usually less clean than using an SSH alias, especially for long-term maintenance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notice&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-o IdentitiesOnly=yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
forces SSH to use only the specified key and prevents SSH from trying other keys loaded in the agent. This is important on servers with multiple Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recommended long-term setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Create or confirm a dedicated deploy key&lt;br /&gt;
ls ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&lt;br /&gt;
# 2. Add the public key to the target GitHub repository Deploy Keys&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&lt;br /&gt;
# 3. Configure SSH alias&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
# 4. Test alias&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&lt;br /&gt;
# 5. Clone or update remote using alias&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&lt;br /&gt;
# or, for an existing repo&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key lesson is: when multiple Deploy Keys exist on the same server, avoid relying on `git@github.com`. Use a project-specific SSH alias such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Git always uses the correct SSH key.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent Generating a new SSH key and adding it to the ssh-agent - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account Adding a new SSH key to your GitHub account - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection Testing your SSH connection - GitHub Docs]&lt;br /&gt;
* [https://linux.die.net/man/5/ssh_config ssh_config(5): OpenSSH SSH client config files - Linux man page]&lt;br /&gt;
* [https://docs.github.com/en/authentication/troubleshooting-ssh Troubleshooting SSH - GitHub Docs]&lt;br /&gt;
&lt;br /&gt;
[[Category: Git]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26427</id>
		<title>Troubleshooting of GIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Troubleshooting_of_GIT&amp;diff=26427"/>
		<updated>2026-08-07T06:56:45Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Git Shows Files as Modified After chmod — File Mode Changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Troubleshooting of GIT ==&lt;br /&gt;
&lt;br /&gt;
=== Restoring deleted files in Git ===&lt;br /&gt;
[[Restoring deleted files in Git]]&lt;br /&gt;
&lt;br /&gt;
=== SSH Authentication Failed: Permission denied (publickey) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running the command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
you may see the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Cloning into &#039;/opt/your-app&#039;...&lt;br /&gt;
git@github.com: Permission denied (publickey).&lt;br /&gt;
fatal: Could not read from remote repository.&lt;br /&gt;
&lt;br /&gt;
Please make sure you have the correct access rights and the repository exists.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A similar error may also occur when running:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error occurs when Git cannot authenticate with GitHub over SSH.&lt;br /&gt;
&lt;br /&gt;
Common causes include:&lt;br /&gt;
&lt;br /&gt;
* The SSH key does not exist on the server.&lt;br /&gt;
* The SSH key has not been added to GitHub.&lt;br /&gt;
* The SSH key is added to the wrong GitHub account or the wrong repository.&lt;br /&gt;
* The repository is private and the key does not have access.&lt;br /&gt;
* The server has multiple SSH keys, but Git is using the wrong one.&lt;br /&gt;
* The key is a GitHub Deploy Key that belongs to another repository.&lt;br /&gt;
* `sudo git clone` or `sudo git pull` is being used, causing Git to use the `root` user&#039;s SSH key instead of the deploy user&#039;s SSH key.&lt;br /&gt;
&lt;br /&gt;
For example, if you run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
and see:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current SSH key is valid, but it is linked to another repository&#039;s Deploy Key. In that case, GitHub may return:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ERROR: Repository not found.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
even if the target repository URL is correct.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Recommended Solution — Use a dedicated SSH alias for the project&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This is the safest approach when the server has multiple GitHub Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
Assume:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Deploy user: your-user&lt;br /&gt;
App path: /opt/your-app&lt;br /&gt;
Private key: /home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
Public key: /home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
Repository: git@github.com:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1 — Check the key exists&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -l ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app&lt;br /&gt;
/home/your-user/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the key does not exist, create one:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh-keygen -t ed25519 -C &amp;quot;your-app-deploy-key&amp;quot; -f ~/.ssh/id_ed25519_your_app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2 — Add the public key to GitHub&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Print the public key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add it to the target repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub Repository&lt;br /&gt;
→ Settings&lt;br /&gt;
→ Deploy keys&lt;br /&gt;
→ Add deploy key&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the server only needs to clone or pull the repository, do not enable write access.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 3 — Configure SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Edit the SSH config file:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Add:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Host github-your-app&lt;br /&gt;
  HostName github.com&lt;br /&gt;
  User git&lt;br /&gt;
  IdentityFile ~/.ssh/id_ed25519_your_app&lt;br /&gt;
  IdentitiesOnly yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Fix SSH file permissions:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod 700 ~/.ssh&lt;br /&gt;
chmod 600 ~/.ssh/config ~/.ssh/id_ed25519_your_app&lt;br /&gt;
chmod 644 ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Explanation:&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh&amp;lt;/code&amp;gt; should be accessible only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/config/&amp;lt;/code&amp;gt; should be readable/writable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app&amp;lt;/code&amp;gt; private key should be readable only by the current user &lt;br /&gt;
# &amp;lt;code&amp;gt;~/.ssh/id_ed25519_your_app.pub&amp;lt;/code&amp;gt; public key can be readable by others&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 4 — Test the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The message:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
is expected. It means SSH authentication works, but GitHub does not allow interactive shell login.&lt;br /&gt;
&lt;br /&gt;
If the result shows another repository, for example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi other-org/other-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
then the alias is not using the intended key, or the key was added to the wrong repository.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 5 — Clone using the SSH alias&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Instead of:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If `/opt/your-app` requires root permission to create, prefer creating the directory first and assigning ownership to the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo mkdir -p /opt/your-app&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This avoids using `sudo git clone`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 6 — If the repository already exists, update the remote URL&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Check the current remote:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it uses the default GitHub host:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github.com:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
change it to use the SSH alias:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Verify:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git remote -v&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (fetch)&lt;br /&gt;
origin  git@github-your-app:your-org/your-repo.git (push)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avoid using sudo with Git&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Avoid:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
sudo git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Because `sudo` runs Git as `root`, Git may use root&#039;s SSH keys instead of the deploy user&#039;s SSH keys.&lt;br /&gt;
&lt;br /&gt;
If the app directory is owned by `root`, fix ownership instead:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then run Git commands as the deploy user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Related Issue: dubious ownership&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
If Git shows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
fatal: detected dubious ownership in repository at &#039;/opt/your-app&#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
it means the current user and the repository owner do not match.&lt;br /&gt;
&lt;br /&gt;
Check:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ls -ld /opt/your-app&lt;br /&gt;
whoami&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the app should be maintained by the deploy user, fix ownership:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo chown -R your-user:your-user /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Alternatively, mark the directory as safe:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global --add safe.directory /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For deployment directories, fixing ownership is usually cleaner if the deploy user is expected to run `git pull`.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alternative Solution — Pass the SSH key inline&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
You can also override the SSH command directly.&lt;br /&gt;
&lt;br /&gt;
First, test the key:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh -T -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes git@github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Expected result:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hi your-org/your-repo! You&#039;ve successfully authenticated, but GitHub does not provide shell access.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then clone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you need to run this with `sudo`, preserve the environment explicitly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sudo GIT_SSH_COMMAND=&#039;ssh -i /path/to/.ssh/your_key_name -o IdentitiesOnly=yes&#039; \&lt;br /&gt;
  git clone git@github.com:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
However, this is usually less clean than using an SSH alias, especially for long-term maintenance.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Notice&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-o IdentitiesOnly=yes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
forces SSH to use only the specified key and prevents SSH from trying other keys loaded in the agent. This is important on servers with multiple Deploy Keys.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Summary&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Recommended long-term setup:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# 1. Create or confirm a dedicated deploy key&lt;br /&gt;
ls ~/.ssh/id_ed25519_your_app*&lt;br /&gt;
&lt;br /&gt;
# 2. Add the public key to the target GitHub repository Deploy Keys&lt;br /&gt;
cat ~/.ssh/id_ed25519_your_app.pub&lt;br /&gt;
&lt;br /&gt;
# 3. Configure SSH alias&lt;br /&gt;
nano ~/.ssh/config&lt;br /&gt;
&lt;br /&gt;
# 4. Test alias&lt;br /&gt;
ssh -T github-your-app&lt;br /&gt;
&lt;br /&gt;
# 5. Clone or update remote using alias&lt;br /&gt;
git clone git@github-your-app:your-org/your-repo.git /opt/your-app&lt;br /&gt;
&lt;br /&gt;
# or, for an existing repo&lt;br /&gt;
cd /opt/your-app&lt;br /&gt;
git remote set-url origin git@github-your-app:your-org/your-repo.git&lt;br /&gt;
git pull&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The key lesson is: when multiple Deploy Keys exist on the same server, avoid relying on `git@github.com`. Use a project-specific SSH alias such as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git@github-your-app:your-org/your-repo.git&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
so Git always uses the correct SSH key.&lt;br /&gt;
&lt;br /&gt;
=== Git Push Failed: Invalid username or token (GitHub No Longer Supports Password Authentication) ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git push&amp;lt;/code&amp;gt; produces the following error:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
remote: Invalid username or token. Password authentication is not supported for Git operations.&lt;br /&gt;
fatal: Authentication failed for &#039;https://github.com/team_name/repo_name/&#039;&lt;br /&gt;
&lt;br /&gt;
In a case you entered incorrect password, please&lt;br /&gt;
update it in Keychain Access application.&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
First check the current login status of the GitHub CLI:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the token has expired, a message similar to the following will appear:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
github.com&lt;br /&gt;
  X Failed to log in to github.com account UserName (keyring)&lt;br /&gt;
* Active account: true&lt;br /&gt;
* The token in keyring is invalid.&lt;br /&gt;
* To re-authenticate, run: gh auth login -h github.com&lt;br /&gt;
* To forget about this account, run: gh auth logout -h github.com -u UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also directly query the GitHub credentials stored in the macOS Keychain:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
security find-internet-password -s github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This error is typically caused by one of the following:&lt;br /&gt;
&lt;br /&gt;
* An old GitHub account password (rather than a token) is stored in the macOS Keychain, and Git&#039;s attempt to authenticate with that password fails.&lt;br /&gt;
* The Personal Access Token in the &amp;lt;code&amp;gt;gh&amp;lt;/code&amp;gt; keyring has expired, been revoked, or had its permissions changed.&lt;br /&gt;
* A token or SSH key was never set up, so Git is still falling back to the legacy password authentication flow.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Re-authenticate the GitHub CLI&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
gh auth login -h github.com&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Select the following options in order:&lt;br /&gt;
&lt;br /&gt;
* What is your preferred protocol for Git operations on this host? → &amp;lt;code&amp;gt;HTTPS&amp;lt;/code&amp;gt; (matches the existing remote protocol)&lt;br /&gt;
* How would you like to authenticate GitHub CLI? → &amp;lt;code&amp;gt;Login with a web browser&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A one-time code will be displayed. Copy it and press Enter; a browser window will open the GitHub device authorization page to complete the login:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
! First copy your one-time code: XXXX-XXXX&lt;br /&gt;
Press Enter to open https://github.com/login/device in your browser...&lt;br /&gt;
&lt;br /&gt;
✓ Authentication complete.&lt;br /&gt;
* gh config set -h github.com git_protocol https&lt;br /&gt;
✓ Configured git protocol&lt;br /&gt;
✓ Logged in as UserName&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Git Shows Files as Modified After chmod — File Mode Changes ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After running &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or copying the repository between different operating systems or file systems, Git may report files as modified even though their contents have not changed:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
&lt;br /&gt;
modified: scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Running &amp;lt;code&amp;gt;git diff&amp;lt;/code&amp;gt; may show only a file mode change:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
diff --git a/scripts/deploy.sh b/scripts/deploy.sh&lt;br /&gt;
old mode 100644&lt;br /&gt;
new mode 100755&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In Git file modes:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;100644&amp;lt;/code&amp;gt; means a regular non-executable file.&lt;br /&gt;
* &amp;lt;code&amp;gt;100755&amp;lt;/code&amp;gt; means a regular executable file.&lt;br /&gt;
&lt;br /&gt;
Git records the executable bit as part of the tracked file metadata. Therefore, adding or removing executable permission can appear as a modification even when the file contents are identical. Git’s diff format explicitly reports these changes as &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Diagnosis&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Use the following command to check whether the reported changes are file mode changes only:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Example output:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You can also inspect the full diff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git diff&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the output contains only &amp;lt;code&amp;gt;old mode&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;new mode&amp;lt;/code&amp;gt;, without added or removed content lines, the change is caused by the executable bit rather than file contents.&lt;br /&gt;
&lt;br /&gt;
Check the current repository setting with: &amp;lt;ref&amp;gt;[https://git-scm.com/docs/git-config?utm_source=chatgpt.com Git - git-config Documentation]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To see which configuration file defines the value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --show-origin --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The behavior is controlled by Git’s &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; setting.&lt;br /&gt;
&lt;br /&gt;
When it is set to &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt;, Git checks whether the executable bit in the working tree differs from the mode stored in the Git index. This can create unexpected changes when:&lt;br /&gt;
&lt;br /&gt;
* A file was modified using &amp;lt;code&amp;gt;chmod +x&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;chmod -x&amp;lt;/code&amp;gt;.&lt;br /&gt;
* A repository was copied between Linux, macOS, Windows, a network drive, or another file system with different permission behavior.&lt;br /&gt;
* An archive, synchronization tool, or shared folder changed executable permissions.&lt;br /&gt;
* A container or deployment process rewrote file modes.&lt;br /&gt;
&lt;br /&gt;
Git’s documentation notes that some file systems may not reliably preserve executable-bit information, which is why &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; can be disabled when those mode differences should not be trusted.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To ignore executable-permission changes in the current repository, run:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is the recommended scope when the issue affects only one repository. The setting is saved in that repository’s &amp;lt;code&amp;gt;.git/config&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
To apply the setting to all repositories for the current user:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The global setting is stored in the user-level Git configuration and acts as a fallback unless a repository overrides it.&lt;br /&gt;
&lt;br /&gt;
Verify the effective value:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --get core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output is:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
false&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Then check the repository again:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git status&lt;br /&gt;
git diff --summary&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Permission-only changes should no longer appear as unstaged modifications.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Restore File Mode Tracking&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To restore executable-bit tracking for the current repository:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove the repository-specific override and return to the global or system default:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --unset core.fileMode&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To restore tracking globally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git config --global core.fileMode true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;When the Executable Bit Should Be Committed&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Do not disable &amp;lt;code&amp;gt;core.fileMode&amp;lt;/code&amp;gt; merely to hide a legitimate permission change.&lt;br /&gt;
&lt;br /&gt;
For shell scripts, deployment scripts, Git hooks, command-line tools, and other files that must be executable after checkout, record the executable bit in Git intentionally:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x scripts/deploy.sh&lt;br /&gt;
git add scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The committed mode change will appear as:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mode change 100644 =&amp;gt; 100755 scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If the local file system cannot apply &amp;lt;code&amp;gt;chmod&amp;lt;/code&amp;gt; correctly, update the Git index directly:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=+x scripts/deploy.sh&lt;br /&gt;
git commit -m &amp;quot;Mark deploy script as executable&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove executable status from the Git index:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git update-index --chmod=-x scripts/deploy.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Git provides index-level support for explicitly overriding a tracked file’s executable bit.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: Setting &amp;lt;code&amp;gt;core.fileMode=false&amp;lt;/code&amp;gt; does not change the actual operating-system permissions and does not rewrite previously committed file modes. It only tells Git not to treat executable-bit differences in the working tree as modifications. Use a repository-level setting unless the same problem consistently affects all repositories on the machine.&lt;br /&gt;
&lt;br /&gt;
=== Git Submodule Pull Failed: unable to create file — File exists ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Error Message&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
After pulling in GitHub Desktop, met the error message&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Fetching submodule lib&lt;br /&gt;
error: unable to create file feeds/example.php: File exists&lt;br /&gt;
Updating xxxxxxxx..xxxxxxxx&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Cause&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
When Git tries to update the submodule to a newer commit, it finds a local untracked file with the same name, blocking the checkout. A mid-pull failure leaves the submodule in an inconsistent state and causes a large number of unexpected unstaged changes to appear in GitHub Desktop.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Run the following command in the project root directory to force re-sync the submodule:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
git submodule update --init --recursive --force&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If it still fails, manually remove the conflicting file and retry:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
rm lib/feeds/example.php&lt;br /&gt;
git submodule update --init --recursive&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Enter the submodule directory and verify the status is clean:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd lib&lt;br /&gt;
git status&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The expected output should be:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
HEAD detached from xxxxxxxx&lt;br /&gt;
nothing to commit, working tree clean&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
`nothing to commit, working tree clean` confirms the submodule has been successfully synced — return to GitHub Desktop and continue as normal. `HEAD detached` is the expected state for a submodule and does not require any action.&lt;br /&gt;
&lt;br /&gt;
{{exclaim}} Notice: The large number of unstaged changes appearing in GitHub Desktop after a failed Pull will typically return to normal once the submodule is fixed. If unexpected changes still remain, run &amp;lt;code&amp;gt;git submodule foreach git checkout .&amp;lt;/code&amp;gt; to revert all modifications inside every submodule.&lt;br /&gt;
&lt;br /&gt;
== Further Reading ==&lt;br /&gt;
&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent Generating a new SSH key and adding it to the ssh-agent - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/adding-a-new-ssh-key-to-your-github-account Adding a new SSH key to your GitHub account - GitHub Docs]&lt;br /&gt;
* [https://docs.github.com/en/authentication/connecting-to-github-with-ssh/testing-your-ssh-connection Testing your SSH connection - GitHub Docs]&lt;br /&gt;
* [https://linux.die.net/man/5/ssh_config ssh_config(5): OpenSSH SSH client config files - Linux man page]&lt;br /&gt;
* [https://docs.github.com/en/authentication/troubleshooting-ssh Troubleshooting SSH - GitHub Docs]&lt;br /&gt;
&lt;br /&gt;
[[Category: Git]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=UX_industry_survey_report&amp;diff=26426</id>
		<title>UX industry survey report</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=UX_industry_survey_report&amp;diff=26426"/>
		<updated>2026-08-05T09:06:13Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 台灣 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;使用者體驗產業研究、UX 產業研究&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== 台灣 ==&lt;br /&gt;
&lt;br /&gt;
使用者經驗設計產業與工作者年度調查&lt;br /&gt;
* [https://www.uigathering.org/ UXTW 台灣使用者經驗設計協會] (2024). [https://www.uxtw.org/%E7%94%A2%E6%A5%AD%E5%A0%B1%E5%91%8A-%E6%96%87%E7%AB%A0/ux-%E7%94%A2%E6%A5%AD%E8%88%87%E5%B7%A5%E4%BD%9C%E8%80%85%E8%AA%BF%E6%9F%A5%E5%A0%B1%E5%91%8A/2023 台灣使用者經驗設計產業與工作者 2023 年度調查] ([https://drive.google.com/open?id=1kPYpU86BQqumy2h8ninX-P0sNFDLkHzK 完整報告 PDF 下載地址]) &lt;br /&gt;
* [https://www.uigathering.org/ UXTW 台灣使用者經驗設計協會] (2023). [https://www.facebook.com/theUXTW/posts/pfbid02U5SkJs33ekMzFHDwmg56d7EgY9BfugThxrvtDYGr1KZepfKGQSger2HgaXUGyTxMl 台灣使用者經驗設計產業與工作者 2022 年度調查] {{FB}} ([https://drive.google.com/file/d/1RcprBB1_j84s8x1YcTq5qD-PB7P4Q1Mq/view 完整報告 PDF 下載地址]) &lt;br /&gt;
* [https://www.uigathering.org/ UXTW 台灣使用者經驗設計協會] (2022). [https://www.facebook.com/theUXTW/posts/10159525022523382 台灣使用者經驗設計產業與工作者 2021 年度調查] {{FB}} ([https://drive.google.com/file/d/1Iv4QPX-FaPmPtG3pGEe8216bxHdY0RlS/view 完整報告 PDF 下載地址]) &lt;br /&gt;
* [https://www.uigathering.org/ UXTW 台灣使用者經驗設計協會] (2020). [https://www.facebook.com/theUXTW/posts/10158610802408382 台灣使用者經驗設計產業與工作者 2020 年度調查] {{FB}} ([https://drive.google.com/file/d/1FEoH7sIKAzxGGAfVzHVzZ5--s5nyYgTQ/view?fbclid=IwAR3YQ2JfSTfxXwp0lNPgJrnpY03zW1sSBBTV_fjwd5rmmo0R1THnrfDB1F0 完整報告 PDF 下載地址])&lt;br /&gt;
* Lin Simon (2018). [https://medium.com/as-a-product-designer/ui-ux-%E8%A8%AD%E8%A8%88%E5%B8%AB%E8%96%AA%E8%B3%87%E8%AA%BF%E6%9F%A5-%E6%8F%AD%E9%96%8B%E4%BD%A0%E6%89%80%E5%A5%BD%E5%A5%87%E7%9A%84%E8%A1%8C%E6%A5%AD%E5%A4%A9%E8%8A%B1%E6%9D%BF-2018-b3cbf40ac128 UI/UX 設計師薪資調查：揭開你所好奇的行業天花板(2018) – As A Product Designer – Medium] {{access | date=2018-11-13}}&lt;br /&gt;
&lt;br /&gt;
薪資&lt;br /&gt;
* [https://airtable.com/shr5qEyG2KbKstwzy/tbl6chE1oGON9LIyr Airtable - 台灣國內外 UI/UX 業界薪資情報 (公開)]  by [https://medium.com/as-a-product-designer AAPD] ([https://airtable.com/shrmQOsAXJfz1HaRw 匿名分享你的薪資])&lt;br /&gt;
&lt;br /&gt;
== 中國 ==&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2021). [http://meia.me/article/906 2021 中國用戶體驗行業調研報告] ([https://web.archive.org/web/20220717040540/https://meia.me/article/906 複本])&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2020). [http://meia.me/doc/2108/1629540293207.pdf 2020 中國用戶體驗行業調研報告] ([https://web.archive.org/web/20220201063643/http://meia.me/doc/2108/1629540293207.pdf 複本])&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2019). [https://ixdc.org/act/3/research.html 2019 中國用戶體驗行業調研報告] ([https://web.archive.org/web/20191027050101/https://meia.me/doc/1908/1567148943796.pdf 複本])&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2018). [https://ixdc.org/2018/act/2/research.html 2018 中國用戶體驗行業調研報告] ([https://web.archive.org/web/20181024025745/https://cdn.meia.me/public/activity/file/2018UXIndustry_ResearchReport.pdf 複本])&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2017). [https://www.ixdc.org/2017/research.php 2017 中國用戶體驗行業調研報告] ([https://web.archive.org/web/20181024025120/https://ixdc.org/2017/uxresearch.pdf 複本])&lt;br /&gt;
* [http://www.uxpachina.org/ UXPA 中國] (2016). [http://mp.weixin.qq.com/s?__biz=MjM5NjE5OTk2NA==&amp;amp;mid=2651019079&amp;amp;idx=1&amp;amp;sn=62e6a21430050995cea226974dc04407&amp;amp;chksm=bd1b1c348a6c9522c21a0a8da74f3331b33342516abde42dbdbbab263d73289ec35b0177499a&amp;amp;mpshare=1&amp;amp;scene=1&amp;amp;srcid=1110bc5GdDdgqTORnxDNBgUc&amp;amp;from=singlemessage&amp;amp;isappinstalled=0 2016用戶體驗職業教育研究報告]&lt;br /&gt;
* [http://ixdc.org/ 國際體驗設計協會] (IxDC) &amp;amp; [http://cdc.tencent.com/ 騰訊用戶研究與體驗設計部] (騰訊 CDC) (2016). [http://www.199it.com/archives/491049.html 2016 中國用戶體驗產業調查報告] ([https://web.archive.org/web/20181024025407/https://ixdc.org/2017/2016ChinaUserExperienceResearch.pdf 複本])&lt;br /&gt;
&lt;br /&gt;
== USA ==&lt;br /&gt;
* John Maeda (2021). [https://cx.report/2021-cx-report/ 2021 CX Report]&lt;br /&gt;
* John Maeda (2020). [https://cx.report/2020-cxreport/ 2020 CX Report]&lt;br /&gt;
* John Maeda (2019). [https://designintech.report/wp-content/uploads/2019/03/dit2019_v00.pdf Design in Tech Report 2019] &lt;br /&gt;
* John Maeda (2018). [https://www.slideshare.net/johnmaeda/design-in-tech-report-2018/27-3102018_2018_Design_In_Tech Design in Tech Report 2018]&lt;br /&gt;
* John Maeda (2017). [https://www.slideshare.net/johnmaeda/design-in-tech-report-2017 Design in Tech Report 2017] [https://designintechreport.wordpress.com/]&lt;br /&gt;
* John Maeda (2016). [http://www.kpcb.com/blog/design-in-tech-report-2016 Design in Tech Report 2016]&lt;br /&gt;
&lt;br /&gt;
== Global ==&lt;br /&gt;
* [https://www.userinterviews.com/ User Interviews Inc.] (2022). [https://www.userinterviews.com/state-of-user-research-2022-report The State of User Research 2022 Report]&lt;br /&gt;
* [https://uxpa.org/ User Experience Professionals Association] (UXPA International) (2017). [https://uxpa.org/resources/past-salary-surveys 2016 UX Salary Survey]&lt;br /&gt;
* 資誠聯合會計師事務所 (2018). [https://www.pwc.tw/zh/news/press-release/press-20180329.html 資誠《2018消費者體驗的未來》調查報告：客戶體驗是一切 企業需在科技與人性之間取得平衡] / [https://www.pwc.com/future-of-cx Companies must get customer experience right: PwC]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Related pages&lt;br /&gt;
* [[Product manager community | 網站企劃與產品設計相關活動訊息 與 社群網站]]&lt;br /&gt;
&lt;br /&gt;
[[Category:User_experience]] [[Category:Design]]&lt;br /&gt;
[[Category:Design]] [[Category:Industry survey report]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=MySQL_commands&amp;diff=26425</id>
		<title>MySQL commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=MySQL_commands&amp;diff=26425"/>
		<updated>2026-08-03T07:48:17Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MySQL commands and troubleshooting of MySQL errors.&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
install MySQL database client apps contains {{kbd | key=mysql}} &amp;amp; {{kbd | key=mysqldump}} commands&lt;br /&gt;
* {{Linux}}: &lt;br /&gt;
* {{Win}}: Install (1) [https://www.cygwin.com/ Cygwin], (2) search mysql &amp;amp; install MySQL database clients apps package&lt;br /&gt;
* {{Mac}}: &lt;br /&gt;
** Install [https://www.apachefriends.org/zh_tw/download.html XAMPP]. Path of {{kbd | key=mysql}} executable file is: {{kbd | key=/Applications/xampp/xamppfiles/bin/mysql}}&lt;br /&gt;
** MAMP: path of mysql command: {{kbd | key=/Applications/MAMP/Library/bin/mysql}}&amp;lt;ref&amp;gt;[https://dev.to/arbaoui_mehdi/how-to-access-the-mysql-cli-with-mamp-25m How to access the MySQL CLI With MAMP - DEV Community]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(optional) install the [http://www.ivarch.com/programs/pv.shtml Pipe Viewer] (pv) package&lt;br /&gt;
* {{Linux}}: &lt;br /&gt;
*# [http://www.tecmint.com/enable-rpmforge-repository/ How to Enable RPMForge Repository in RHEL/CentOS 7.x/6.x/5.x/4.x]&lt;br /&gt;
*# (1){{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux&amp;lt;ref&amp;gt;[http://www.cyberciti.biz/open-source/command-line-hacks/pv-command-examples/ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe]&amp;lt;/ref&amp;gt;;  (2) {{kbd | key =apt-get install pv}} for Debian / Ubuntu&amp;lt;ref&amp;gt;[http://www.ivarch.com/programs/pv.shtml ivarch.com: Pipe Viewer]&amp;lt;/ref&amp;gt;; &lt;br /&gt;
* {{Win}}: Install (1) [https://www.cygwin.com/ Cygwin], (2) search pv &amp;amp; install pv package&lt;br /&gt;
* {{Mac}}: Install (1) {{kbd | key =brew install pv}} to get the latest version of pv package&amp;lt;ref&amp;gt;[http://ashleyangell.com/2013/11/pipe-viewer-pv-in-mac-osx/ Pipe Viewer (pv) in Mac OSX]&amp;lt;/ref&amp;gt; and (2) MySQL database clients from [https://www.apachefriends.org/zh_tw/download.html XAMPP]. Path of mysql is: /Applications/xampp/xamppfiles/bin/mysql&lt;br /&gt;
&lt;br /&gt;
create the db user&lt;br /&gt;
# create the db user&lt;br /&gt;
# grant the minimum permission: {{kbd | key=SELECT}}, {{kbd | key=LOCK TABLES}} to the db user. SQL query: {{kbd | key=&amp;lt;nowiki&amp;gt;GRANT SELECT, LOCK TABLES ON `DATA\_BASE\_NAME`.* TO &#039;dbuser&#039;@&#039;localhost&#039;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[http://serverfault.com/questions/22712/minimum-permissions-for-a-user-to-perform-a-mysqldump security - Minimum permissions for a user to perform a mysqldump? - Server Fault]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# the db user will be able to execute the mysqldump command&lt;br /&gt;
&lt;br /&gt;
=== Exporting data of database/table  into MySql sql file ===&lt;br /&gt;
==== mysqldump Options ====&lt;br /&gt;
Default option without any options specified&lt;br /&gt;
* {{kbd | key=&amp;lt;nowiki&amp;gt;drop table&amp;lt;/nowiki&amp;gt;}} &amp;amp; insert new data&lt;br /&gt;
&lt;br /&gt;
Replace (overwrite) the current data &lt;br /&gt;
* Run {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--replace --no-create-info&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_replace --replace]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_no-create-info --no-create-info]&amp;lt;/ref&amp;gt;: (1) {{kbd | key=&amp;lt;nowiki&amp;gt;--replace&amp;lt;/nowiki&amp;gt;}}: &amp;quot;Write REPLACE statements rather than INSERT statements.&amp;quot; (2) {{kbd | key=&amp;lt;nowiki&amp;gt;--no-create-info&amp;lt;/nowiki&amp;gt;}}: &amp;quot;Do not write CREATE TABLE statements that create each dumped table.&amp;quot; &amp;amp; &amp;quot;Do not add a DROP TABLE statement before each CREATE TABLE statement&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Append the current data&lt;br /&gt;
* Run {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--insert-ignore --no-create-info&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_insert-ignore --insert-ignore]&amp;lt;/ref&amp;gt;: (1) {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--insert-ignore&amp;lt;/nowiki&amp;gt;}}:  &amp;quot;Write INSERT IGNORE statements rather than INSERT statements.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Schema only&lt;br /&gt;
* [https://www.electrictoolbox.com/mysqldump-schema-only/ Use mysqldump to get the schema only - Electric Toolbox]&lt;br /&gt;
&lt;br /&gt;
==== Exporting entire data ====&lt;br /&gt;
&#039;&#039;&#039;method1&#039;&#039;&#039;: {{Gd}} export the compressed *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysqldump&amp;lt;ref&amp;gt;[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html MySQL :: MySQL 5.1 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/5666784/how-can-i-slow-down-a-mysql-dump-as-to-not-affect-current-load-on-the-server backup - How can I slow down a MySQL dump as to not affect current load on the server? - Stack Overflow]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# (optional) install {{kbd | key =pv}} if the {{kbd | key =pv}} was not installed&lt;br /&gt;
# (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;(if have permission to LOCK TABLES){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} (if have no permission to LOCK TABLES){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --lock-tables=false DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} via [http://stackoverflow.com/questions/104612/run-mysqldump-without-locking-tables mysql - Run MySQLDump without Locking Tables - Stack Overflow]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# ask to enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
optional: Append the Today&#039;s date to file name&lt;br /&gt;
* On {{Linux}}: (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.$(date +&amp;quot;%y%m%d&amp;quot;).gz&amp;lt;/nowiki&amp;gt;}} &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method2&#039;&#039;&#039;: Bulk export individual tables into the multiple compressed *.sql files&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -h localhost -u username -pPASSWORD --force --single-transaction --default-character-set=utf8 DB_NAME TABLE_1 | pv | gzip -c &amp;gt; table_1.sql.gz&lt;br /&gt;
mysqldump -h localhost -u username -pPASSWORD --force --single-transaction --default-character-set=utf8 DB_NAME TABLE_2 | pv | gzip -c &amp;gt; table_2.sql.gz&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: the last line of above part is &#039;&#039;&#039;return symbol&#039;&#039;&#039;. The last command will not be executed automatically without the return symbol.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method3&#039;&#039;&#039;: export the *.sql file. It will show a progress bar and estimated time to complete the mysqldump &amp;lt;ref&amp;gt;[http://dubbs.github.io/blog/2013/09/05/mysql-import-slash-export-progress-bar/ MySQL Import/Export Progress Bar - Kevin Warrington]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# (optional if the {{kbd | key =pv}} was not installed) {{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux&lt;br /&gt;
# (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv &amp;gt; database.sql&amp;lt;/nowiki&amp;gt;}}  and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method4&#039;&#039;&#039;: export the *.sql file&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --single-transaction  --default-character-set=utf8 DATA-BASE-NAME &amp;gt; /path/to/database.sql &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method5&#039;&#039;&#039;:  Using phpmyadmin to export the database. {{exclaim}} But I found the number rows of table after imported was not the same with the number rows of original table once.&lt;br /&gt;
&lt;br /&gt;
==== Exporting selected data ====&lt;br /&gt;
[http://stackoverflow.com/questions/17397661/append-mysql-dump-to-a-table mysqldump - Append MYSQL dump to a table - Stack Overflow] {{access | date = 2016-06-29}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Potential failure issue ====&lt;br /&gt;
* insufficient hard-disk space&lt;br /&gt;
&lt;br /&gt;
=== Importing data from MySql sql file ===&lt;br /&gt;
{{exclaim}} Notice: existing database will be overwritten&lt;br /&gt;
&lt;br /&gt;
Optional&lt;br /&gt;
# (optional) install {{kbd | key =pv}} if the {{kbd | key =pv}} was not installed for RHEL / CentOS / SL / Fedora Linux or {{kbd | key =brew install pv}} for {{Mac}}&amp;lt;ref&amp;gt;[https://formulae.brew.sh/formula/pv pv — Homebrew Formulae]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# (optional if the 7Zip was not installed) {{kbd | key =yum install p7zip}} for RHEL / CentOS / SL / Fedora Linux&lt;br /&gt;
&#039;&#039;&#039;method 1&#039;&#039;&#039;: Import *.sql file: &lt;br /&gt;
# (optional if the .sql file was compressed) {{kbd | key =unzip data.zip}} or {{kbd | key =gzip -d data.gz}} if the file was compressed by gzip&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME &amp;lt; data.sql&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/ Import MySQL Dumpfile, SQL Datafile Into My Database]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 2&#039;&#039;&#039;: Import *.sql file with {{kbd | key =--binary-mode}} (useful when the dump contains complex JSON string, binary data or BLOB fields, to avoid &amp;quot;\r\n&amp;quot; being misinterpreted and causing corrupted imports):&lt;br /&gt;
# (optional if the .sql file was compressed) {{kbd | key =unzip data.zip}} or {{kbd | key =gzip -d data.gz}} if the file was compressed by gzip&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME &amp;lt; data.sql&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_binary-mode mysql Command-Line Client Options — MySQL Reference Manual]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 3&#039;&#039;&#039;: Import the *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command&amp;lt;ref&amp;gt;[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;pv data.sql | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/ Import MySQL Dumpfile, SQL Datafile Into My Database]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 4&#039;&#039;&#039;: Same as method 3, but combined with {{kbd | key =--binary-mode}} to safely handle binary/BLOB content while showing a progress bar:&lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;pv data.sql | mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival), and {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 5&#039;&#039;&#039;: {{Gd}} Import the compressed *.sql file with gzip (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command: &lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# Check if the file is gzip format (test the compressed file integrity) ex: (1) {{kbd | key =  &amp;lt;nowiki&amp;gt;gunzip -t database.sql.gz&amp;lt;/nowiki&amp;gt;}} If not, it will return the message &amp;quot;gzip: database.sql.gz: not in gzip format.&amp;quot; (2) Using [http://www.winmd5.com/ WinMD5 Free] for {{Win}} or [http://linux.die.net/man/1/md5sum md5sum] command for {{Linux}} to obtain MD5 checksum of files.&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt; pv database.sql.gz | gunzip | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 6&#039;&#039;&#039;: Same as method 5, but combined with {{kbd | key =--binary-mode}} to safely handle binary/BLOB content while showing a progress bar:&lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# Check if the file is gzip format (test the compressed file integrity) ex: (1) {{kbd | key =  &amp;lt;nowiki&amp;gt;gunzip -t database.sql.gz&amp;lt;/nowiki&amp;gt;}} If not, it will return the message &amp;quot;gzip: database.sql.gz: not in gzip format.&amp;quot; (2) Using [http://www.winmd5.com/ WinMD5 Free] for {{Win}} or [http://linux.die.net/man/1/md5sum md5sum] command for {{Linux}} to obtain MD5 checksum of files.&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt; pv database.sql.gz | gunzip -c | mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival), and {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 7&#039;&#039;&#039;: Import ZIP file to MySql directly:&lt;br /&gt;
# Install the 7Zip&lt;br /&gt;
# {{kbd | key = &amp;lt;nowiki&amp;gt;7za x -so data.zip | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/11267309/importing-zipped-files-in-mysql-using-command-line database - Importing zipped files in Mysql using command line - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://needs-be.blogspot.tw/2011/01/install-7zip-on-centos-55.html Install 7Zip on CentOS 5.5]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
=== Synchronizing databases ===&lt;br /&gt;
Synchronizing two MySQL databases:&lt;br /&gt;
* [http://www.heidisql.com/ HeidiSQL - MySQL, MSSQL and PostgreSQL made easy] v.9.4.0.5125 for {{Win}}, {{Mac}} &amp;amp; {{Linux}}&lt;br /&gt;
** Steps: Choose the database or table --&amp;gt; Export database as SQL --&amp;gt; Output: Select the mysql server connection&lt;br /&gt;
** Scheduler: Not available&amp;lt;ref&amp;gt;[http://www.heidisql.com/forum.php?t=22040 Schedule backups/exports]&amp;lt;/ref&amp;gt; {{exclaim}}. Manually synchronizing databases between two different servers.&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.7/en/replication.html Replication]&lt;br /&gt;
** Steps:&lt;br /&gt;
** Scheduler: Auto {{Gd}}.&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.webyog.com/product/sqlyog SQLyog] v.12.4.0 for {{Win}}.&lt;br /&gt;
** Steps: Menu --&amp;gt; Powertools --&amp;gt; Database Synchronization Wizard&lt;br /&gt;
** Scheduler: Available {{Gd}}. Save the job file &amp;amp; Schedule it using Windows scheduler.&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.devart.com/dbforge/mysql/studio/ MySQL GUI Tool - MariaDB and MySQL Front End Client for Windows]&lt;br /&gt;
** Steps: &lt;br /&gt;
*** Menu: Comparison -&amp;gt; New Data Comparison -&amp;gt; Choose the connection: Next -&amp;gt; &lt;br /&gt;
*** Mapping: Select objects that you want to compare -&amp;gt; &lt;br /&gt;
*** After hours or minutes ...&lt;br /&gt;
*** Menu: Comparison -&amp;gt; Synchronize -&amp;gt; Open the synchronization script in the internal editor -&amp;gt; Synchronize &lt;br /&gt;
*** Menu: SQL -&amp;gt; Execute&lt;br /&gt;
** Scheduler:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Transfer date from MS SQL server to MySQL or MariaDB server&amp;lt;ref&amp;gt;[https://mariadb.com/kb/en/library/monyog-sqlyog/ MONyog &amp;amp; SQLyog - MariaDB Knowledge Base]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
* See on [[Troubleshooting_of_MySQL_errors#Transfer_Data_from_MySQL_to_MSSQL | Transfer Data from MySQL to MSSQL]]&lt;br /&gt;
&lt;br /&gt;
=== Show the MySQL process list &amp;amp; kill the process ===&lt;br /&gt;
Show the MySQL process list &amp;amp; kill the process (especial for SLOW query command)&amp;lt;ref&amp;gt;[http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html MySQL :: MySQL 5.1 Reference Manual :: 13.7.5.31 SHOW PROCESSLIST Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=mysql -h HOST -u ACCOUNT -p }}&lt;br /&gt;
# And keyin the PASSWORD of your MySQL ACCOUNT. The first character will be changed to &#039;&#039;mysql&amp;gt;&#039;&#039; from &#039;&#039;$&#039;&#039; or &#039;&#039;#&#039;&#039;&lt;br /&gt;
# mysql&amp;gt; &lt;br /&gt;
#* {{kbd | key=SHOW FULL PROCESSLIST\G}} to show the process list&lt;br /&gt;
#* {{kbd | key=SHOW PROCESSLIST\G}} to show the brief process list&lt;br /&gt;
# mysql&amp;gt; {{kbd | key=kill 101;}} to kill the process with Id number: {{kbd | key=101}}&lt;br /&gt;
# mysql&amp;gt; {{kbd | key=exit;}} to leave the MySQL command.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting of MySQL errors ===&lt;br /&gt;
[[Troubleshooting of MySQL errors]]&lt;br /&gt;
&lt;br /&gt;
=== Further reading ===&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html MySQL :: MySQL 8.0 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/error-handling.html MySQL :: MySQL 5.7 Reference Manual :: B Errors, Error Codes, and Common Problems]&lt;br /&gt;
* [http://eosrei.net/articles/2013/03/forcing-mysqldump-always-be-nice-cpu-and-io Forcing a mysqldump to always be nice to CPU and I/O | eosrei.net]: using [http://www.computerhope.com/unix/unice.htm nice] or [http://www.tutorialspoint.com/unix_commands/ionice.htm ionice] commands {{exclaim}} &lt;br /&gt;
** ionice command is not exists in cygwin&lt;br /&gt;
* [http://www.dbastuff.net/2014/09/mysql-dump-and-partitions.html DBAStuff: Mysql Dump and partitions] {{access | date = 2016-01-01}}&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.5/en/backup-methods.html MySQL :: MySQL 5.5 Reference Manual :: 7.2 Database Backup Methods]  {{access | date = 2016-06-29}}&lt;br /&gt;
* [[SQL syntax debug]]&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server SQL Modes]&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html MySQL :: MySQL 8.0 Reference Manual :: 4.5.1.1 mysql Client Options]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Data factory flow}}&lt;br /&gt;
&lt;br /&gt;
[[Category: MySQL]]&lt;br /&gt;
[[Category: Data Science]]&lt;br /&gt;
[[Category: Revised with LLMs]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=MySQL_commands&amp;diff=26424</id>
		<title>MySQL commands</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=MySQL_commands&amp;diff=26424"/>
		<updated>2026-08-03T07:47:45Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* Importing data from MySql sql file */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;MySQL commands and troubleshooting of MySQL errors.&lt;br /&gt;
&lt;br /&gt;
=== Preparation ===&lt;br /&gt;
install MySQL database client apps contains {{kbd | key=mysql}} &amp;amp; {{kbd | key=mysqldump}} commands&lt;br /&gt;
* {{Linux}}: &lt;br /&gt;
* {{Win}}: Install (1) [https://www.cygwin.com/ Cygwin], (2) search mysql &amp;amp; install MySQL database clients apps package&lt;br /&gt;
* {{Mac}}: &lt;br /&gt;
** Install [https://www.apachefriends.org/zh_tw/download.html XAMPP]. Path of {{kbd | key=mysql}} executable file is: {{kbd | key=/Applications/xampp/xamppfiles/bin/mysql}}&lt;br /&gt;
** MAMP: path of mysql command: {{kbd | key=/Applications/MAMP/Library/bin/mysql}}&amp;lt;ref&amp;gt;[https://dev.to/arbaoui_mehdi/how-to-access-the-mysql-cli-with-mamp-25m How to access the MySQL CLI With MAMP - DEV Community]&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(optional) install the [http://www.ivarch.com/programs/pv.shtml Pipe Viewer] (pv) package&lt;br /&gt;
* {{Linux}}: &lt;br /&gt;
*# [http://www.tecmint.com/enable-rpmforge-repository/ How to Enable RPMForge Repository in RHEL/CentOS 7.x/6.x/5.x/4.x]&lt;br /&gt;
*# (1){{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux&amp;lt;ref&amp;gt;[http://www.cyberciti.biz/open-source/command-line-hacks/pv-command-examples/ Linux / Unix pv Command: Monitor Progress of Data Sent Via a Pipe]&amp;lt;/ref&amp;gt;;  (2) {{kbd | key =apt-get install pv}} for Debian / Ubuntu&amp;lt;ref&amp;gt;[http://www.ivarch.com/programs/pv.shtml ivarch.com: Pipe Viewer]&amp;lt;/ref&amp;gt;; &lt;br /&gt;
* {{Win}}: Install (1) [https://www.cygwin.com/ Cygwin], (2) search pv &amp;amp; install pv package&lt;br /&gt;
* {{Mac}}: Install (1) {{kbd | key =brew install pv}} to get the latest version of pv package&amp;lt;ref&amp;gt;[http://ashleyangell.com/2013/11/pipe-viewer-pv-in-mac-osx/ Pipe Viewer (pv) in Mac OSX]&amp;lt;/ref&amp;gt; and (2) MySQL database clients from [https://www.apachefriends.org/zh_tw/download.html XAMPP]. Path of mysql is: /Applications/xampp/xamppfiles/bin/mysql&lt;br /&gt;
&lt;br /&gt;
create the db user&lt;br /&gt;
# create the db user&lt;br /&gt;
# grant the minimum permission: {{kbd | key=SELECT}}, {{kbd | key=LOCK TABLES}} to the db user. SQL query: {{kbd | key=&amp;lt;nowiki&amp;gt;GRANT SELECT, LOCK TABLES ON `DATA\_BASE\_NAME`.* TO &#039;dbuser&#039;@&#039;localhost&#039;;&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[http://serverfault.com/questions/22712/minimum-permissions-for-a-user-to-perform-a-mysqldump security - Minimum permissions for a user to perform a mysqldump? - Server Fault]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# the db user will be able to execute the mysqldump command&lt;br /&gt;
&lt;br /&gt;
=== Exporting data of database/table  into MySql sql file ===&lt;br /&gt;
==== mysqldump Options ====&lt;br /&gt;
Default option without any options specified&lt;br /&gt;
* {{kbd | key=&amp;lt;nowiki&amp;gt;drop table&amp;lt;/nowiki&amp;gt;}} &amp;amp; insert new data&lt;br /&gt;
&lt;br /&gt;
Replace (overwrite) the current data &lt;br /&gt;
* Run {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--replace --no-create-info&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_replace --replace]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_no-create-info --no-create-info]&amp;lt;/ref&amp;gt;: (1) {{kbd | key=&amp;lt;nowiki&amp;gt;--replace&amp;lt;/nowiki&amp;gt;}}: &amp;quot;Write REPLACE statements rather than INSERT statements.&amp;quot; (2) {{kbd | key=&amp;lt;nowiki&amp;gt;--no-create-info&amp;lt;/nowiki&amp;gt;}}: &amp;quot;Do not write CREATE TABLE statements that create each dumped table.&amp;quot; &amp;amp; &amp;quot;Do not add a DROP TABLE statement before each CREATE TABLE statement&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Append the current data&lt;br /&gt;
* Run {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--insert-ignore --no-create-info&amp;lt;/nowiki&amp;gt;}}&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html#option_mysqldump_insert-ignore --insert-ignore]&amp;lt;/ref&amp;gt;: (1) {{kbd | key=&amp;lt;nowiki&amp;gt;mysqldump&amp;lt;/nowiki&amp;gt;}} with the option {{kbd | key=&amp;lt;nowiki&amp;gt;--insert-ignore&amp;lt;/nowiki&amp;gt;}}:  &amp;quot;Write INSERT IGNORE statements rather than INSERT statements.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Schema only&lt;br /&gt;
* [https://www.electrictoolbox.com/mysqldump-schema-only/ Use mysqldump to get the schema only - Electric Toolbox]&lt;br /&gt;
&lt;br /&gt;
==== Exporting entire data ====&lt;br /&gt;
&#039;&#039;&#039;method1&#039;&#039;&#039;: {{Gd}} export the compressed *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysqldump&amp;lt;ref&amp;gt;[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/5.1/en/mysqldump.html MySQL :: MySQL 5.1 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/5666784/how-can-i-slow-down-a-mysql-dump-as-to-not-affect-current-load-on-the-server backup - How can I slow down a MySQL dump as to not affect current load on the server? - Stack Overflow]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# (optional) install {{kbd | key =pv}} if the {{kbd | key =pv}} was not installed&lt;br /&gt;
# (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;(if have permission to LOCK TABLES){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} (if have no permission to LOCK TABLES){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --lock-tables=false DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.gz&amp;lt;/nowiki&amp;gt;}} via [http://stackoverflow.com/questions/104612/run-mysqldump-without-locking-tables mysql - Run MySQLDump without Locking Tables - Stack Overflow]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# ask to enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
optional: Append the Today&#039;s date to file name&lt;br /&gt;
* On {{Linux}}: (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv | gzip -c &amp;gt; database.sql.$(date +&amp;quot;%y%m%d&amp;quot;).gz&amp;lt;/nowiki&amp;gt;}} &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method2&#039;&#039;&#039;: Bulk export individual tables into the multiple compressed *.sql files&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mysqldump -h localhost -u username -pPASSWORD --force --single-transaction --default-character-set=utf8 DB_NAME TABLE_1 | pv | gzip -c &amp;gt; table_1.sql.gz&lt;br /&gt;
mysqldump -h localhost -u username -pPASSWORD --force --single-transaction --default-character-set=utf8 DB_NAME TABLE_2 | pv | gzip -c &amp;gt; table_2.sql.gz&lt;br /&gt;
   &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
note: the last line of above part is &#039;&#039;&#039;return symbol&#039;&#039;&#039;. The last command will not be executed automatically without the return symbol.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method3&#039;&#039;&#039;: export the *.sql file. It will show a progress bar and estimated time to complete the mysqldump &amp;lt;ref&amp;gt;[http://dubbs.github.io/blog/2013/09/05/mysql-import-slash-export-progress-bar/ MySQL Import/Export Progress Bar - Kevin Warrington]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# (optional if the {{kbd | key =pv}} was not installed) {{kbd | key =yum install pv}} for RHEL / CentOS / SL / Fedora Linux&lt;br /&gt;
# (for InnoDB tables){{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --force --single-transaction --default-character-set=utf8 DATA_BASE_NAME | pv &amp;gt; database.sql&amp;lt;/nowiki&amp;gt;}}  and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method4&#039;&#039;&#039;: export the *.sql file&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysqldump -h localhost -u username -p --single-transaction  --default-character-set=utf8 DATA-BASE-NAME &amp;gt; /path/to/database.sql &amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method5&#039;&#039;&#039;:  Using phpmyadmin to export the database. {{exclaim}} But I found the number rows of table after imported was not the same with the number rows of original table once.&lt;br /&gt;
&lt;br /&gt;
==== Exporting selected data ====&lt;br /&gt;
[http://stackoverflow.com/questions/17397661/append-mysql-dump-to-a-table mysqldump - Append MYSQL dump to a table - Stack Overflow] {{access | date = 2016-06-29}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Potential failure issue ====&lt;br /&gt;
* insufficient hard-disk space&lt;br /&gt;
&lt;br /&gt;
=== Importing data from MySql sql file ===&lt;br /&gt;
{{exclaim}} Notice: existing database will be overwritten&lt;br /&gt;
&lt;br /&gt;
Optional&lt;br /&gt;
# (optional) install {{kbd | key =pv}} if the {{kbd | key =pv}} was not installed for RHEL / CentOS / SL / Fedora Linux or {{kbd | key =brew install pv}} for {{Mac}}&amp;lt;ref&amp;gt;[https://formulae.brew.sh/formula/pv pv — Homebrew Formulae]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# (optional if the 7Zip was not installed) {{kbd | key =yum install p7zip}} for RHEL / CentOS / SL / Fedora Linux&lt;br /&gt;
&#039;&#039;&#039;method 1&#039;&#039;&#039;: Import *.sql file: &lt;br /&gt;
# (optional if the .sql file was compressed) {{kbd | key =unzip data.zip}} or {{kbd | key =gzip -d data.gz}} if the file was compressed by gzip&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME &amp;lt; data.sql&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/ Import MySQL Dumpfile, SQL Datafile Into My Database]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 2&#039;&#039;&#039;: Import *.sql file with {{kbd | key =--binary-mode}} (useful when the dump contains complex JSON string, binary data or BLOB fields, to avoid &amp;quot;\r\n&amp;quot; being misinterpreted and causing corrupted imports):&lt;br /&gt;
# (optional if the .sql file was compressed) {{kbd | key =unzip data.zip}} or {{kbd | key =gzip -d data.gz}} if the file was compressed by gzip&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME &amp;lt; data.sql&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html#option_mysql_binary-mode mysql Command-Line Client Options — MySQL Reference Manual]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 3&#039;&#039;&#039;: Import the *.sql file (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command&amp;lt;ref&amp;gt;[http://dba.stackexchange.com/questions/17367/how-can-i-monitor-the-progress-of-an-import-of-a-large-sql-file mysql - How can I monitor the progress of an import of a large .sql file? - Database Administrators Stack Exchange]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;pv data.sql | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/ Import MySQL Dumpfile, SQL Datafile Into My Database]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 4&#039;&#039;&#039;: Same as method 3, but combined with {{kbd | key =--binary-mode}} to safely handle binary/BLOB content while showing a progress bar:&lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt;pv data.sql | mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival), and {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 5&#039;&#039;&#039;: {{Gd}} Import the compressed *.sql file with gzip (especially for BIG sql file). It will show a progress bar and estimated time to complete the mysql command: &lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# Check if the file is gzip format (test the compressed file integrity) ex: (1) {{kbd | key =  &amp;lt;nowiki&amp;gt;gunzip -t database.sql.gz&amp;lt;/nowiki&amp;gt;}} If not, it will return the message &amp;quot;gzip: database.sql.gz: not in gzip format.&amp;quot; (2) Using [http://www.winmd5.com/ WinMD5 Free] for {{Win}} or [http://linux.die.net/man/1/md5sum md5sum] command for {{Linux}} to obtain MD5 checksum of files.&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt; pv database.sql.gz | gunzip | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://journal.andrewloe.com/2009/05/12/pv-gzip-mysql/ pv + gzip + mysql — W. Andrew Loe III: Journal]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 6&#039;&#039;&#039;: Same as method 5, but combined with {{kbd | key =--binary-mode}} to safely handle binary/BLOB content while showing a progress bar:&lt;br /&gt;
# Install {{kbd | key =pv}}&lt;br /&gt;
# Check if the file is gzip format (test the compressed file integrity) ex: (1) {{kbd | key =  &amp;lt;nowiki&amp;gt;gunzip -t database.sql.gz&amp;lt;/nowiki&amp;gt;}} If not, it will return the message &amp;quot;gzip: database.sql.gz: not in gzip format.&amp;quot; (2) Using [http://www.winmd5.com/ WinMD5 Free] for {{Win}} or [http://linux.die.net/man/1/md5sum md5sum] command for {{Linux}} to obtain MD5 checksum of files.&lt;br /&gt;
# {{kbd | key =  &amp;lt;nowiki&amp;gt; pv database.sql.gz | gunzip -c | mysql -u username -p -h localhost --default_character_set utf8 --binary-mode --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }} The console window will show ETA (Estimated Time of Arrival), and {{kbd | key =--binary-mode}} disables all client-side conversions of {{kbd | key =\r\n}} and treats {{kbd | key =\0}} as a normal character, which is recommended whenever the dump was produced with {{kbd | key =mysqldump --hex-blob}} or otherwise contains binary/BLOB content&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;method 7&#039;&#039;&#039;: Import ZIP file to MySql directly:&lt;br /&gt;
# Install the 7Zip&lt;br /&gt;
# {{kbd | key = &amp;lt;nowiki&amp;gt;7za x -so data.zip | mysql -u username -p -h localhost --default_character_set utf8 --force DATA_BASE_NAME&amp;lt;/nowiki&amp;gt;}} &amp;lt;ref&amp;gt;[http://stackoverflow.com/questions/11267309/importing-zipped-files-in-mysql-using-command-line database - Importing zipped files in Mysql using command line - Stack Overflow]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;[http://needs-be.blogspot.tw/2011/01/install-7zip-on-centos-55.html Install 7Zip on CentOS 5.5]&amp;lt;/ref&amp;gt; and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
# enter {{kbd | key =  &amp;lt;nowiki&amp;gt;password&amp;lt;/nowiki&amp;gt; }} and press {{kbd | key =  &amp;lt;nowiki&amp;gt;Enter&amp;lt;/nowiki&amp;gt; }}&lt;br /&gt;
&lt;br /&gt;
=== Synchronizing databases ===&lt;br /&gt;
Synchronizing two MySQL databases:&lt;br /&gt;
* [http://www.heidisql.com/ HeidiSQL - MySQL, MSSQL and PostgreSQL made easy] v.9.4.0.5125 for {{Win}}, {{Mac}} &amp;amp; {{Linux}}&lt;br /&gt;
** Steps: Choose the database or table --&amp;gt; Export database as SQL --&amp;gt; Output: Select the mysql server connection&lt;br /&gt;
** Scheduler: Not available&amp;lt;ref&amp;gt;[http://www.heidisql.com/forum.php?t=22040 Schedule backups/exports]&amp;lt;/ref&amp;gt; {{exclaim}}. Manually synchronizing databases between two different servers.&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.7/en/replication.html Replication]&lt;br /&gt;
** Steps:&lt;br /&gt;
** Scheduler: Auto {{Gd}}.&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.webyog.com/product/sqlyog SQLyog] v.12.4.0 for {{Win}}.&lt;br /&gt;
** Steps: Menu --&amp;gt; Powertools --&amp;gt; Database Synchronization Wizard&lt;br /&gt;
** Scheduler: Available {{Gd}}. Save the job file &amp;amp; Schedule it using Windows scheduler.&lt;br /&gt;
* &#039;&#039;$&#039;&#039; [https://www.devart.com/dbforge/mysql/studio/ MySQL GUI Tool - MariaDB and MySQL Front End Client for Windows]&lt;br /&gt;
** Steps: &lt;br /&gt;
*** Menu: Comparison -&amp;gt; New Data Comparison -&amp;gt; Choose the connection: Next -&amp;gt; &lt;br /&gt;
*** Mapping: Select objects that you want to compare -&amp;gt; &lt;br /&gt;
*** After hours or minutes ...&lt;br /&gt;
*** Menu: Comparison -&amp;gt; Synchronize -&amp;gt; Open the synchronization script in the internal editor -&amp;gt; Synchronize &lt;br /&gt;
*** Menu: SQL -&amp;gt; Execute&lt;br /&gt;
** Scheduler:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Transfer date from MS SQL server to MySQL or MariaDB server&amp;lt;ref&amp;gt;[https://mariadb.com/kb/en/library/monyog-sqlyog/ MONyog &amp;amp; SQLyog - MariaDB Knowledge Base]&amp;lt;/ref&amp;gt;: &lt;br /&gt;
* See on [[Troubleshooting_of_MySQL_errors#Transfer_Data_from_MySQL_to_MSSQL | Transfer Data from MySQL to MSSQL]]&lt;br /&gt;
&lt;br /&gt;
=== Show the MySQL process list &amp;amp; kill the process ===&lt;br /&gt;
Show the MySQL process list &amp;amp; kill the process (especial for SLOW query command)&amp;lt;ref&amp;gt;[http://dev.mysql.com/doc/refman/5.1/en/show-processlist.html MySQL :: MySQL 5.1 Reference Manual :: 13.7.5.31 SHOW PROCESSLIST Syntax]&amp;lt;/ref&amp;gt;&lt;br /&gt;
# {{kbd | key=mysql -h HOST -u ACCOUNT -p }}&lt;br /&gt;
# And keyin the PASSWORD of your MySQL ACCOUNT. The first character will be changed to &#039;&#039;mysql&amp;gt;&#039;&#039; from &#039;&#039;$&#039;&#039; or &#039;&#039;#&#039;&#039;&lt;br /&gt;
# mysql&amp;gt; &lt;br /&gt;
#* {{kbd | key=SHOW FULL PROCESSLIST\G}} to show the process list&lt;br /&gt;
#* {{kbd | key=SHOW PROCESSLIST\G}} to show the brief process list&lt;br /&gt;
# mysql&amp;gt; {{kbd | key=kill 101;}} to kill the process with Id number: {{kbd | key=101}}&lt;br /&gt;
# mysql&amp;gt; {{kbd | key=exit;}} to leave the MySQL command.&lt;br /&gt;
&lt;br /&gt;
=== Troubleshooting of MySQL errors ===&lt;br /&gt;
[[Troubleshooting of MySQL errors]]&lt;br /&gt;
&lt;br /&gt;
=== Further reading ===&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html MySQL :: MySQL 8.0 Reference Manual :: 4.5.4 mysqldump — A Database Backup Program]&lt;br /&gt;
* [http://dev.mysql.com/doc/refman/5.7/en/error-handling.html MySQL :: MySQL 5.7 Reference Manual :: B Errors, Error Codes, and Common Problems]&lt;br /&gt;
* [http://eosrei.net/articles/2013/03/forcing-mysqldump-always-be-nice-cpu-and-io Forcing a mysqldump to always be nice to CPU and I/O | eosrei.net]: using [http://www.computerhope.com/unix/unice.htm nice] or [http://www.tutorialspoint.com/unix_commands/ionice.htm ionice] commands {{exclaim}} &lt;br /&gt;
** ionice command is not exists in cygwin&lt;br /&gt;
* [http://www.dbastuff.net/2014/09/mysql-dump-and-partitions.html DBAStuff: Mysql Dump and partitions] {{access | date = 2016-01-01}}&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/5.5/en/backup-methods.html MySQL :: MySQL 5.5 Reference Manual :: 7.2 Database Backup Methods]  {{access | date = 2016-06-29}}&lt;br /&gt;
* [[SQL syntax debug]]&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/sql-mode.html MySQL :: MySQL 8.0 Reference Manual :: 5.1.8 Server SQL Modes]&lt;br /&gt;
* [https://dev.mysql.com/doc/refman/8.0/en/mysql-command-options.html MySQL :: MySQL 8.0 Reference Manual :: 4.5.1.1 mysql Client Options]&lt;br /&gt;
&lt;br /&gt;
=== References ===&lt;br /&gt;
&amp;lt;references/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Template:Data factory flow}}&lt;br /&gt;
&lt;br /&gt;
[[Category:MySQL]]&lt;br /&gt;
[[Category:Data Science]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Guiding_principles_on_generative_artificial_intelligence_in_Mandarin&amp;diff=26423</id>
		<title>Guiding principles on generative artificial intelligence in Mandarin</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Guiding_principles_on_generative_artificial_intelligence_in_Mandarin&amp;diff=26423"/>
		<updated>2026-08-03T05:52:36Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 相關法規 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;生成式 AI 的校園、公司或政府機關的使用指引與法規&lt;br /&gt;
&lt;br /&gt;
{{Template:Generative AI Tool in Mandarin}}&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Guiding principles on generative artificial intelligence | English]], [[Guiding principles on generative artificial intelligence in Mandarin | 漢字]] }}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用指引 ==&lt;br /&gt;
學校&lt;br /&gt;
* Harvard University Information Technology (n.d.). [https://huit.harvard.edu/ai/guidelines Generative Artificial Intelligence (AI) Guidelines]&lt;br /&gt;
* 臺灣師範大學 (n.d.). [https://ctld.ntnu.edu.tw/generative_ai 國立臺灣師範大學 – 生成式 AI 之學習應用及參考指引 – 國立臺灣師範大學教學發展中心] ([https://web.archive.org/web/20251206170602/https://ctld.ntnu.edu.tw/generative_ai 網頁備份])&lt;br /&gt;
* 臺灣大學 (n.d.). [https://www.dlc.ntu.edu.tw/ai-tools/ 臺大針對生成式 AI 工具之教學因應措施] by 教務處教學發展中心 x 數位學習中心 ([https://web.archive.org/web/20260117130949/https://www.dlc.ntu.edu.tw/ai-tools/ 網頁備份])&lt;br /&gt;
* 臺灣大學 (2023). [http://tul.blog.ntu.edu.tw/archives/32789 如何引用ChatGPT生成內容？ – 國立臺灣大學圖書館參考服務部落格]&lt;br /&gt;
* 清華大學 (2023). [https://curricul.site.nthu.edu.tw/p/404-1208-248357.php?Lang=zh-tw 生成式人工智慧倫理聲明]&lt;br /&gt;
* 臺北科大 (2023). [https://oaa.ntut.edu.tw/p/406-1008-129455,r11.php?Lang=zh-tw 因應生成式 AI 工具之教學參考指引]&lt;br /&gt;
* 政大圖書館 (n.d.). [https://sites.google.com/view/ncculibgenai/basics?authuser=0 政大圖書館生成式AI使用指引]&lt;br /&gt;
&lt;br /&gt;
企業&lt;br /&gt;
* 資策會 (2023). [https://www.iii.org.tw/Publish/DownloadPages_download.aspx?dp_sqno=26 2023企業應具備的AI素養-生成式AI導入指引]&lt;br /&gt;
* 資策會軟體院 (2024). [https://www.iii.org.tw/Publish/DownloadPages_download.aspx?dp_sqno=35 生成式AI企業大腦開發指引]&lt;br /&gt;
* [https://www.itri.org.tw/ListStyle.aspx?DisplayStyle=18_content&amp;amp;SiteID=1&amp;amp;MmmID=1036452026061075714&amp;amp;MGID=1220020611016273662 生成式AI的機會與挑戰-工業技術與資訊月刊-出版品-新聞中心-工業技術研究院] 提到「生成式人工智慧（GAI）使用指引的部分內容&lt;br /&gt;
&lt;br /&gt;
非營利組織 (NGO, NPO)&lt;br /&gt;
* [https://netivism.com.tw/guideline 網絡行動科技 AI 使用指引 | 網絡行動科技]&lt;br /&gt;
&lt;br /&gt;
政府機關、政府機構&lt;br /&gt;
* 行政院 (2023). [https://www.nstc.gov.tw/folksonomy/list/c79bf57b-dc94-4aff-8d14-3262b5559cfc?l=ch 行政院及所屬機關（構）使用生成式AI參考指引-國家科學及技術委員會]&amp;lt;ref&amp;gt;[https://www.technice.com.tw/issues/ai/67585/ 政院通過生成式AI參考指引　10大重點依趨勢滾動修正]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 數位發展部 (2025). [https://moda.gov.tw/digital-affairs/digital-service/guide/15002 公部門人工智慧應用參考手冊（草案）｜數位政府相關參考文件 - 數位政府 - 核心業務｜moda — 數位發展部 Ministry of Digital Affairs]&lt;br /&gt;
* 數位發展部 (2026). [https://moda.gov.tw/major-policies/ai/governance/19244 AI 風險分類框架]「依據《人工智慧基本法》規定，推動與國際接軌之「人工智慧風險分類框架」。本框架旨在作為政府跨部會溝通的共同語言，提供一套共通的評估標準。 ...」&lt;br /&gt;
* 文化部 (2025). [https://www.moc.gov.tw/News.aspx?n=9149&amp;amp;sms=16053 文化藝術應用生成式AI指引]&lt;br /&gt;
&lt;br /&gt;
媒體&lt;br /&gt;
* 上下游 News&amp;amp;Market (2024). [https://www.newsmarket.com.tw/mazu-oyster/ch08/ 《上下游》生成式人工智慧（AI）使用指引 | 上下游]&lt;br /&gt;
&lt;br /&gt;
== 相關文章 ==&lt;br /&gt;
* [https://learn.microsoft.com/zh-tw/azure/machine-learning/concept-responsible-ai?view=azureml-api-2 什麼是負責任 AI - Azure Machine Learning | Microsoft Learn]&lt;br /&gt;
* [https://www.microsoft.com/en-us/corporate-responsibility/responsible-ai-transparency-report Microsoft Responsible AI Transparency Report | Microsoft CSR]&lt;br /&gt;
* [https://learn.microsoft.com/en-us/legal/cognitive-services/openai/transparency-note?tabs=text Transparency Note for Azure OpenAI - Azure AI services | Microsoft Learn]&lt;br /&gt;
* [https://ai.google/responsibility/responsible-ai-practices/ Google Responsible AI Practices – Google AI]&lt;br /&gt;
* [[Data privacy in Large Language Models in Mandarin | 大型語言模型的資料隱私政策]]&lt;br /&gt;
&lt;br /&gt;
== 相關關鍵字 ==&lt;br /&gt;
* 可信任 AI 原則&lt;br /&gt;
* 可信賴的 AI&lt;br /&gt;
&lt;br /&gt;
== 相關認證 ==&lt;br /&gt;
* [https://www.ipas.org.tw/AIAP :::經濟部產業人才能力鑑定推動網:::] 工研院推的「專業工程師考試 AI應用規劃師」&lt;br /&gt;
* [https://www.iii.org.tw/zh-TW/news/newsroom/iii-news/eff273d9-5fe8-4239-a5f4-63c828ddc1a7 資策會教研所推出免費「生成式AI能力認證」 助力臺灣培育AI新生代｜本會新聞｜新聞中心｜最新消息｜資策會]&lt;br /&gt;
* [https://aiacademy.tw/genai2025-courses/ 台灣人工智慧學校 2025 生成式 AI 實體課程 比較表 - 台灣人工智慧學校]&lt;br /&gt;
&lt;br /&gt;
== 相關法規 ==&lt;br /&gt;
* 台灣行政院新聞傳播處 (2025-08-28). [https://www.ey.gov.tw/Page/9277F759E41CCD91/5d673d1e-f418-47dc-ab35-a06600f77f07 政院通過「人工智慧基本法」草案 建構AI發展與應用良善環境 打造臺灣成為AI人工智慧島 (行政院全球資訊網-本院一般新聞)]&lt;br /&gt;
* 歐盟 《人工智慧法案》 (歐盟 AI 法案) [https://artificialintelligenceact.eu/ EU Artificial Intelligence Act | Up-to-date developments and analyses of the EU AI Act]&lt;br /&gt;
* 中國 [https://en.wikipedia.org/wiki/Interim_Measures_for_the_Management_of_Generative_AI_Services Interim Measures for the Management of Generative AI Services - Wikipedia] ([https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm 生成式人工智慧服務管理暫行辦法_中央網路安全和資訊化委員會辦公室])&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Artificial intelligence]]&lt;br /&gt;
[[Category:Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
	<entry>
		<id>https://wiki.planetoid.info/index.php?title=Guiding_principles_on_generative_artificial_intelligence_in_Mandarin&amp;diff=26422</id>
		<title>Guiding principles on generative artificial intelligence in Mandarin</title>
		<link rel="alternate" type="text/html" href="https://wiki.planetoid.info/index.php?title=Guiding_principles_on_generative_artificial_intelligence_in_Mandarin&amp;diff=26422"/>
		<updated>2026-08-03T05:52:05Z</updated>

		<summary type="html">&lt;p&gt;Planetoid: /* 相關法規 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;生成式 AI 的校園、公司或政府機關的使用指引與法規&lt;br /&gt;
&lt;br /&gt;
{{Template:Generative AI Tool in Mandarin}}&lt;br /&gt;
&lt;br /&gt;
{{LanguageSwitcher | content = [[Guiding principles on generative artificial intelligence | English]], [[Guiding principles on generative artificial intelligence in Mandarin | 漢字]] }}&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== 使用指引 ==&lt;br /&gt;
學校&lt;br /&gt;
* Harvard University Information Technology (n.d.). [https://huit.harvard.edu/ai/guidelines Generative Artificial Intelligence (AI) Guidelines]&lt;br /&gt;
* 臺灣師範大學 (n.d.). [https://ctld.ntnu.edu.tw/generative_ai 國立臺灣師範大學 – 生成式 AI 之學習應用及參考指引 – 國立臺灣師範大學教學發展中心] ([https://web.archive.org/web/20251206170602/https://ctld.ntnu.edu.tw/generative_ai 網頁備份])&lt;br /&gt;
* 臺灣大學 (n.d.). [https://www.dlc.ntu.edu.tw/ai-tools/ 臺大針對生成式 AI 工具之教學因應措施] by 教務處教學發展中心 x 數位學習中心 ([https://web.archive.org/web/20260117130949/https://www.dlc.ntu.edu.tw/ai-tools/ 網頁備份])&lt;br /&gt;
* 臺灣大學 (2023). [http://tul.blog.ntu.edu.tw/archives/32789 如何引用ChatGPT生成內容？ – 國立臺灣大學圖書館參考服務部落格]&lt;br /&gt;
* 清華大學 (2023). [https://curricul.site.nthu.edu.tw/p/404-1208-248357.php?Lang=zh-tw 生成式人工智慧倫理聲明]&lt;br /&gt;
* 臺北科大 (2023). [https://oaa.ntut.edu.tw/p/406-1008-129455,r11.php?Lang=zh-tw 因應生成式 AI 工具之教學參考指引]&lt;br /&gt;
* 政大圖書館 (n.d.). [https://sites.google.com/view/ncculibgenai/basics?authuser=0 政大圖書館生成式AI使用指引]&lt;br /&gt;
&lt;br /&gt;
企業&lt;br /&gt;
* 資策會 (2023). [https://www.iii.org.tw/Publish/DownloadPages_download.aspx?dp_sqno=26 2023企業應具備的AI素養-生成式AI導入指引]&lt;br /&gt;
* 資策會軟體院 (2024). [https://www.iii.org.tw/Publish/DownloadPages_download.aspx?dp_sqno=35 生成式AI企業大腦開發指引]&lt;br /&gt;
* [https://www.itri.org.tw/ListStyle.aspx?DisplayStyle=18_content&amp;amp;SiteID=1&amp;amp;MmmID=1036452026061075714&amp;amp;MGID=1220020611016273662 生成式AI的機會與挑戰-工業技術與資訊月刊-出版品-新聞中心-工業技術研究院] 提到「生成式人工智慧（GAI）使用指引的部分內容&lt;br /&gt;
&lt;br /&gt;
非營利組織 (NGO, NPO)&lt;br /&gt;
* [https://netivism.com.tw/guideline 網絡行動科技 AI 使用指引 | 網絡行動科技]&lt;br /&gt;
&lt;br /&gt;
政府機關、政府機構&lt;br /&gt;
* 行政院 (2023). [https://www.nstc.gov.tw/folksonomy/list/c79bf57b-dc94-4aff-8d14-3262b5559cfc?l=ch 行政院及所屬機關（構）使用生成式AI參考指引-國家科學及技術委員會]&amp;lt;ref&amp;gt;[https://www.technice.com.tw/issues/ai/67585/ 政院通過生成式AI參考指引　10大重點依趨勢滾動修正]&amp;lt;/ref&amp;gt;&lt;br /&gt;
* 數位發展部 (2025). [https://moda.gov.tw/digital-affairs/digital-service/guide/15002 公部門人工智慧應用參考手冊（草案）｜數位政府相關參考文件 - 數位政府 - 核心業務｜moda — 數位發展部 Ministry of Digital Affairs]&lt;br /&gt;
* 數位發展部 (2026). [https://moda.gov.tw/major-policies/ai/governance/19244 AI 風險分類框架]「依據《人工智慧基本法》規定，推動與國際接軌之「人工智慧風險分類框架」。本框架旨在作為政府跨部會溝通的共同語言，提供一套共通的評估標準。 ...」&lt;br /&gt;
* 文化部 (2025). [https://www.moc.gov.tw/News.aspx?n=9149&amp;amp;sms=16053 文化藝術應用生成式AI指引]&lt;br /&gt;
&lt;br /&gt;
媒體&lt;br /&gt;
* 上下游 News&amp;amp;Market (2024). [https://www.newsmarket.com.tw/mazu-oyster/ch08/ 《上下游》生成式人工智慧（AI）使用指引 | 上下游]&lt;br /&gt;
&lt;br /&gt;
== 相關文章 ==&lt;br /&gt;
* [https://learn.microsoft.com/zh-tw/azure/machine-learning/concept-responsible-ai?view=azureml-api-2 什麼是負責任 AI - Azure Machine Learning | Microsoft Learn]&lt;br /&gt;
* [https://www.microsoft.com/en-us/corporate-responsibility/responsible-ai-transparency-report Microsoft Responsible AI Transparency Report | Microsoft CSR]&lt;br /&gt;
* [https://learn.microsoft.com/en-us/legal/cognitive-services/openai/transparency-note?tabs=text Transparency Note for Azure OpenAI - Azure AI services | Microsoft Learn]&lt;br /&gt;
* [https://ai.google/responsibility/responsible-ai-practices/ Google Responsible AI Practices – Google AI]&lt;br /&gt;
* [[Data privacy in Large Language Models in Mandarin | 大型語言模型的資料隱私政策]]&lt;br /&gt;
&lt;br /&gt;
== 相關關鍵字 ==&lt;br /&gt;
* 可信任 AI 原則&lt;br /&gt;
* 可信賴的 AI&lt;br /&gt;
&lt;br /&gt;
== 相關認證 ==&lt;br /&gt;
* [https://www.ipas.org.tw/AIAP :::經濟部產業人才能力鑑定推動網:::] 工研院推的「專業工程師考試 AI應用規劃師」&lt;br /&gt;
* [https://www.iii.org.tw/zh-TW/news/newsroom/iii-news/eff273d9-5fe8-4239-a5f4-63c828ddc1a7 資策會教研所推出免費「生成式AI能力認證」 助力臺灣培育AI新生代｜本會新聞｜新聞中心｜最新消息｜資策會]&lt;br /&gt;
* [https://aiacademy.tw/genai2025-courses/ 台灣人工智慧學校 2025 生成式 AI 實體課程 比較表 - 台灣人工智慧學校]&lt;br /&gt;
&lt;br /&gt;
== 相關法規 ==&lt;br /&gt;
* 台灣行政院新聞傳播處 (2025-08-28). [https://www.ey.gov.tw/Page/9277F759E41CCD91/5d673d1e-f418-47dc-ab35-a06600f77f07 政院通過「人工智慧基本法」草案 建構AI發展與應用良善環境 打造臺灣成為AI人工智慧島 (行政院全球資訊網-本院一般新聞)]&lt;br /&gt;
* 歐盟 AI 法案 [https://artificialintelligenceact.eu/ EU Artificial Intelligence Act | Up-to-date developments and analyses of the EU AI Act]&lt;br /&gt;
* 中國 [https://en.wikipedia.org/wiki/Interim_Measures_for_the_Management_of_Generative_AI_Services Interim Measures for the Management of Generative AI Services - Wikipedia] ([https://www.cac.gov.cn/2023-07/13/c_1690898327029107.htm 生成式人工智慧服務管理暫行辦法_中央網路安全和資訊化委員會辦公室])&lt;br /&gt;
&lt;br /&gt;
== 參考資料 ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Artificial intelligence]]&lt;br /&gt;
[[Category:Generative AI]]&lt;/div&gt;</summary>
		<author><name>Planetoid</name></author>
	</entry>
</feed>