[mysql]MySQL 編碼由 latin1 轉 utf8

參考網址:藏經閣

很久以前的 MySQL 資料庫,因為過去預設編碼為 latin1,在新的 phpMyAdmin 就無法成功轉為 utf8 的編碼。

利用mysql自帶的mysqldump功能dump一下原有的 latin1 編碼的資料庫。請進入 cmd 模式,輸入以下指令:

mysqldump --user=使用者名稱 --password=密碼 --default-character-set=latin1  --skip-set-charset 資料表名稱 > 輸出檔名.sql

再利用取代的功能,把 latin1 都取代成 utf8。

完成取代之後請直接另存新檔 .. 這時把檔案類型設定儲存成 UTF-8。

最後您就可以回到 phpMyAdmin 中將這個 sql 檔匯入 MySQL 中了。以下是參考的指令:


mysql --user=使用者名稱 --password=密碼 --default-character-set=utf8 資料表名稱 < 輸出檔名.sql

發表於 Linux系統, 程式設計 | 發表迴響

[飛狼blog]PHPExcel 讀取日期欄位

參考網址:
掃文 總結了下PHPExcel官方讀取的幾個例子

美寶論壇 PHPExcel 讀取「時間格式」的儲存格內容

require_once("../class/PHPExcel/IOFactory.php");

$inputFileName = 'import.xlsx';

$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);

//$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); //格式化輸出

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,false,true);  //未格式化輸出

$colindex = 0;

foreach( $sheetData as $key => $col ){

if($rowindex == 0)  {

    //

}

if($rowindex >= 1)  {

//$col['B']是日期欄位

//未格式化輸出 $col['B']為 1900-1-1 到該日期的天數 

                //例如:如果 B2 是 2000/1/1 ,則 $number = 36529 (天)

        

                //重點來了,下面這個函式會將 1900-1-1以來的天數 轉換成 1970-1-1 以來的秒數 

                //接上例,如果 $number = 36529(天) ,則 $t = 946944000 (秒)  

$t = PHPExcel_Shared_Date::ExcelToPHP( $col['B'] );



//接著 這個 $t 就可以利用 php 的函式發揮了

$a = date( "Y-m-d", $t );

    echo "{$col['A']} {$col['B']} {$t} {$a}  {$col['C']}". strlen($col['A']). " ".mb_strlen($col['A'])."<br>";

    //     

}

$rowindex++;    

} 

 

發表於 Linux系統, 程式設計 | 發表迴響

[lifetype]LifeType 透過 RSS Dump 所有文章

參考網址:Tsung's Blog

LifeType 要匯出所有文章的方法, 除了自己從 DB 撈以外, 另一招可以用 RSS 倒.

下述假設文章量是在 30000篇以內.

 

LifeType 修改 RSS 秀出所有的文章

  1. cp /var/www/lifetype/rss.php /var/www/lifetype/rss2.php
  2. vim /var/www/lifetype/rss2.php # 於檔案最上方, 增加一行

    define('TSUNG', 1);
  3. vim /var/www/lifetype/class/action/rssaction.class.php
    # 於 103行 

     

    $amount = $blogSettings->getValue( "recent_posts_max", 15 );

    # 改成

    
    if (defined('TSUNG')) {
        $hardLimit = 30000;
        $amount = 30000;
    } else {
        $amount = $blogSettings->getValue( "recent_posts_max", 15 );
    }
  4. 在連結 http://lifetype-domain/rss2.php , 就可以透過 rss 倒出所有文章.

發表於 Linux系統, wordpress | 發表迴響

[rasp]How to Remote Connect to a Windows PC From a Raspberry Pi

參考網址:

https://www.makeuseof.com/tag/remote-connect-windows-pc-raspberry-pi/

apt install xrdp
apt install remmina

發表於 Linux系統 | 發表迴響

安裝 WSL 2

參考網址:https://docs.microsoft.com/zh-tw/windows/wsl/wsl2-install

WSL 2 僅適用於 Windows 10 組建 18917 或更高版本

  • 請確定您已安裝 WSL (您可以在這裡找到進行這項操作的指示),而且您正在執行 Windows 10 組建 18917 或更高版本

     

     

     

    • 若要確定您使用組建 18917 或更高版本,請加入 Windows 測試人員計畫,並選取 [快速] 或 [慢速] 通道。
    • 您可以藉由開啟 [命令提示字元] 並執行 ver 命令,以檢查您的 Windows 版本。
  • 啟用「虛擬機器平臺」選用元件
  • 使用命令列設定 WSL 2 支援的分散式版
  • 驗證分散式版本使用的 WSL 版本

Windows 10 20H1 (Vibranium) 公眾預覽版本 Build 19041 發佈 + 繁體中文版下載

 

Huan-Lin 學習筆記 在 Windows 10 環境上安裝 WSL 2

壞蛋的密室 最近開始改用 WSL2 跑 docker 當開發環境

 

發表於 Windows系統 | 發表迴響

地籍圖

參考網址:

可以依戶政的門牌號碼查到地籍圖
地籍圖資網路便民服務系統

台南市全方位地籍資料查詢系統 需付費,可以查到所有權人。

 

發表於 生活資訊 | 發表迴響

更改 檔案關聯 指令

參考網址:takimoto

assoc .ext [ [ = ] ] [ FileType ]

由 assoc 指令參數為:

.ext : 您可以使用這個參數, 指定想要以檢視或變更其關聯副檔名
 FileType : 使用這個參數來指定您希望 Windows 來將指定檔案名稱副檔名與檔案類型

 

所以如果要修復對exe檔案類型的關連,就該輸入:

 

assoc .exe=exefile

配合ftype 使用
 

assoc .kodu2=kodu2
ftype kodu2="D:\iso\0_green\kodu.cameyo_v1.5.53_hmes.exe" %1
pause

存成.bat檔,用系統管理員權限執行。

發表於 Windows系統 | 發表迴響

UBUNTU 18.04 安裝

apt install nmap
apt install net-tools (內含ifconfig)
apt install tasksel
    執行tasksel 選擇安裝LAMP SERVER (mysql 5.7    php 7.2)
                        安裝過程中沒有輸入 mysql 密碼的選項??
                        如何重設mysql密碼
                        https://linuxconfig.org/how-to-reset-root-mysql-password-on-ubuntu-18-04-bionic-beaver-linux
                            跟著文章做,下這指令時SET PASSWORD FOR root@'localhost' = PASSWORD('linuxconfig.org');出現錯誤
                            ERROR 1524 (HY000): Plugin 'auth_socket' is not loaded
                                參考https://stackoverflow.com/questions/37879448/mysql-fails-on-mysql-error-1524-hy000-plugin-auth-socket-is-not-loaded
                                use mysql; # use mysql table
                                update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
                                update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
                                flush privileges;
                        再下指令:
                        SET PASSWORD FOR 'root'@'localhost' = PASSWORD('linuxconfig.org');
                        即可
 
    另一個方法
    https://itw01.com/GBSY3E3.html
    mysql_secure_installation
    第一個提示會問你是否想要設定驗證密碼外掛,它可以用來測試你的MySQL密碼的強度。 無論您選擇什麼,下一個提示將是為MySQL 根使用者設定密碼。 輸入並確認您選擇的安全密碼。 原文網址:https://itw01.com/GBSY3E3.html
 
另一個方法
https://www.peterdavehello.org/2019/12/set-mysql-password-login-and-create-database-on-ubuntu-18-04-and-later/
mysql mysql 進到 MySQL 後透過 SQL 語法查詢:

 

 

mysql> SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user = 'root';

以上查詢會得到這樣的結果,可以看到 root 使用 auth_socket plugin 且 authentication_string 為空:

+------+-----------------------+-------------+-----------+
| user | authentication_string | plugin      | host      |
+------+-----------------------+-------------+-----------+
| root |                       | auth_socket | localhost |
+------+-----------------------+-------------+-----------+
1 row in set (0.00 sec)
這邊透過 ALTER 語法把 root 登入的方式改為密碼驗證,在最後 password 的地方改為自己要設定的密碼即可:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Query OK, 0 rows affected (0.06 sec)

再次透過同樣的 SELECT 語法確認,可以看到 authentication_string 已經有密碼的雜湊值、plugin 已經從 auth_socket 變為 mysql_native_password :
 

mysql> SELECT user, authentication_string, plugin, host FROM mysql.user WHERE user = 'root';
+------+-------------------------------------------+-----------------------+-----------+
| user | authentication_string                     | plugin                | host      |
+------+-------------------------------------------+-----------------------+-----------+
| root | *2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 | mysql_native_password | localhost |
+------+-------------------------------------------+-----------------------+-----------+
1 row in set (0.00 sec)
這時就可以做 FLUSH PRIVILEGES 的操作讓上述修改生效:

mysql> FLUSH PRIVILEGES;
再執行 exit 或 quit 指令結束這次的 MySQL 操作,準備實際測試看看是不是已經不能直接透過系統的 root 身份登入 MySQL 、而是必須透過密碼的方式進行驗證

mysql -u root -p
 
                        SAMBA SERVER
                        OPENSSH SERVER
apt install phpmyadmin
 
安裝php5.6
http://dchesmis.blogspot.tw/2016/09/ubunt-1604php5x.html
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php5.6-mbstring php5.6-mcrypt php5.6-mysql php5.6-xml
sudo php -v
 
 
另一篇文章 安裝擴展
sudo apt-get install php5.6-gd
sudo apt-get install php5.6-mysql php5.6-curl
 
在php5與php7間切換
從 php5 切換到 php7.2 :
     Apache:
         sudo a2dismod php5.6 ; sudo a2enmod php7.2 ; sudo service apache2 restart
     CLI:
         update-alternatives –set php /usr/bin/php7.2
         
從 php7 切換到 php5:
         sudo a2dismod php7.2 ; sudo a2enmod php5.6 ; sudo service apache2 restart
     CLI:
          sudo update-alternatives –set php /usr/bin/php5.6
 
安裝中文輸入法
apt-get install scim scim-tables-zh

發表於 Linux系統 | 發表迴響

[microbit]pxt-microbit docker

參考網址:

https://hub.docker.com/r/kadok0520/pxt-microbit/

使用者的王國@google

pull image 下載映像檔 $ docker pull kadok0520/pxt-microbit

run 執行 $ docker run -d -p 80:80 --name pxt-microbit01 kadok0520/pxt-microbit

open your browser
http://your_docker_server_ip:80

目前的版本是2.02 較舊的版本,還是自行編譯吧!

 

makecode
 

docker run -d -p 3000:300 --name makecode monolit/makecode

 

另一個docker
https://github.com/leejoneshane/docker-microbit
2.1.38版,中文翻譯不完整,無法分享

 

發表於 Linux系統, 軟體使用 | 發表迴響

[makecode]試玩~Microsoft MakeCode (PXT – Programming eXperience Toolkit) 離線版

參考網址:曾令燊Davis@Blog部落格

【micro:bit】自建Microsoft MakeCode 伺服器

太空猴子 自建 microbit 網頁編輯器

sudo apt-get install -y curl build-essential git
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt-get update
sudo apt-get install -y nodejs
sudo npm install -g jake
sudo npm install -g typings
mkdir makecode
cd makecode
git clone https://github.com/microsoft/pxt
cd pxt
git checkout v0
#無法鎖住特定版本
#git checkout v5.15.19
npm install
typings install
jake
cd ../
git clone https://github.com/microsoft/pxt-microbit
cd pxt-microbit
#git checkout v2.0.17
sudo npm install -g pxt
npm install
sudo npm link ../pxt
mkdir /home/microbit
cd /home/microbit
pxt target microbit

原文中用服務的方式啟動有問題sudo vi /etc/systemd/system/microbit.service
改用sh的方式啟動

 

#!/bin/sh
cd /home/microbit
/usr/bin/pxt serve --cloud --hostname 0.0.0.0 --port 3232

server預設跑3232 port
用nmap localhost 看不到port的連線狀況,需用netstat -tna 才行

用microsoft pxt 官網提供的安裝方式即可
https://github.com/microsoft/pxt-microbit

可以用 pxt help serve 查看pxt serve的參數說明

另一篇文章寫到指定IP的方法
谢作如的博客
如果局域网中的其他电脑也要访问这台服务器,需要修改系统所在目录中的serve.js文件。
serve.js文件在C:\Users\xiezuoru\node_modules\pxt-core\built目录中。
具体修改方法:搜索,将“serveOptions.hostname = "localhost";”换为“serveOptions.hostname = "*.*.*.*";”。“*.*.*.*”为电脑的IP地址,如192.168.1.100。
嘗試過後,用遠端連接時仍然無法正常執行 “分享” 功能
這種改法應和/usr/bin/pxt serve –cloud –hostname 0.0.0.0 –port 3232 是一樣的效果
 

function serveAsync(options) {
    serveOptions = options;
    if (!serveOptions.port)
        serveOptions.port = 3232;
    if (!serveOptions.wsPort)
        serveOptions.wsPort = 3233;
    if (!serveOptions.hostname)
        serveOptions.hostname = "localhost";


 

 

發表於 Windows系統, 軟體使用 | 發表迴響