文章

顯示從 2月, 2022 起發佈的文章

centos8 安裝php擴展無法安裝成功的問題

安裝擴展遇到 Error: Failed to download xxxxx for repo 'appstream': ....  現在centos8已停止更新 原本套件下載的網址也都有問題 我這邊是下這兩段指令後。再裝才能成功 sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*

js把unicode字串轉 字串/unicode字碼字串轉字串

 unicode字碼 解碼 成 可閱讀文字 function unicodeToChar(text) {    return text.replace(/\\u[\dA-F]{4}/gi,            function (match) {                return String.fromCharCode(parseInt(match.replace(/\\u/g, ''), 16));           }); }

js陣列轉json字串

  var myJsonString = JSON.stringify(yourjsArray);

php執行兩次,被執行兩次可能的原因,php重複執行

 目前自己遇過的狀況有三 1.用某套奇怪的整合套件架網站. 在跨域發送請求時,把http OPTIONS 预检请求當作get做了執行 處理方式去改服務器設定... 我是不會調 所以用php判斷OPTIONS 预检请求 就不做其他的處理 if (strtolower($_SERVER['REQUEST_METHOD']) == 'options') {     exit; } 2.php內使用curl 有可能因為呼叫對方網址太久判定超時,而重複呼叫 我這邊遇到就是去調整超時時間解決... 通常是因為網路環境差很多或是經過很多代理 3.php 5.x 用不同種呼叫mysl的寫法,寫在同一支php內 如果沒有將資料庫斷開,就直接用另外一種呼叫mysl的方法 會導致一個mysql指令執行兩次 我這邊就是因此一次執行兩次insert

centos使用yum指令注意事項

 yum更新套件指令 yum -y update 有機會使用這個指令,重開機整個系統配置區會掛掉無法開機 建議要更新系統,從GUI裡面去更新

IIS8啟用Dynamic IP Restrictions

圖片
  Dynamic IP Restrictions功能在IIS8有內建所以是安裝時就要啟用,若沒啟用稻則是要去啟用Windows功能設定.IIS7是透去官方網站下載安裝.

小皮面板無法執行php檔案的原因

 我這邊遇到的是裝5.X版的php 他預設不支援短標籤 我去改設定 short_open_tag = On 就可以正常執行了 以前用寶塔預設裝了就可以用

HTML td存儲格 合併/table 表格合併

 一個是合併直的,一個是合併橫的 <td colspan="橫跨的列數"> A B C <td rowspan="合併的行數"> A B C

JavaScript將接收到的json字串轉 json陣列

  const obj = JSON.parse( “json格式字串”);

JavaScript字串取代

 只取代一次 var str=  namestr.replace('u', '\\u') 字串內所有相同得都取代掉 var str=  namestr.replace(/u/g, '\\u')

小皮面板到處是坑

 最近因寶塔新版要強制登入會員 所以改用小皮面板 用了幾天 超級坑 文字編輯器 常常 點保存沒反應 還會顯示成功 只要多開兩個檔案同時編輯,只能有一個保存成功.... 我別得地方得php檔案放過來會不能用要去改php.ini設定 啟用短標籤...等等.還是寶塔好用

Centos切換成root

 指令 sudo su

公司網站伺服器發生錯誤錯誤訊息如下

  Event ID: 4427: 無法初始化所需的名稱物件。錯誤內容: d:\nt\com\complus\dtc\dtc\msdtcprx\src\dtcinit.cpp:457, Pid: 2848 No Callstack,  CmdLine: C:\WINDOWS\system32\dllhost.exe /Processid:{02D4B3F1-FD88-11D1-960D-00805FC79235} 執行時期環境無法初始化所需交易來支援交易式元件。請確認 MS DTC 正在執行中。(DtcGetTransactionManagerEx(): hr = 0x8004d027) 第一個問題解決方式: 打開CMD->輸入net start msdtc 就解決了.... 我公司伺服器的第二個問題是第一個問題引起的,所以也就沒問題了。若第二個問題不是第一個問題引起的朋友參考 這篇 。 參考: http://lihb810.blog.163.com/blog/static/59451162200902110135496/ https://social.technet.microsoft.com/Forums/windows/en-US/104a6bff-2735-4304-be9c-f92800f943ce/msdtc-and-com-error-messages-only?forum=w7itpronetworking#104a6bff-2735-4304-be9c-f92800f943ce

W8無法安裝MYSQL

         最近突然想起以前讀研究所的時候發生的一件事情,就是有個同學是" 楊浩青 助理教授:製造資訊系統實驗室這東西的實驗室", 然後我朋友名叫柯哲楷那時候他畢業論文使用的電腦windows 8無法安裝MYSQL,他以及他實驗室老師共同指導的成功大學研究生也搞不出來。我就去幫他弄,結果一天就安裝完成了。原因出在MYSQL的官方版本與安裝程式與W8某些元件相衝。所以我是直接安裝 WAMP 上的MYSQL。最後系統就順利執行了...這東西他們一群花個一個月我只花了一天...只能說專業度不足指導教授又差勁。真得會害死人...那間實驗室的同學常常來我這邊實驗室和一他實驗室問東問西。這件事情讓我深深了解到研究所選擇指導教授的重要性。         好得指導教授讓你上天堂,壞得指導教授亂指導你還讓你睡實驗室。辛苦是你成果歸他...個人的經驗談希望以後要讀研究所的朋友們,不要吃虧了。         至於為什麼 WAMP 可以直接執行,而MYSQL安裝檔會安裝失敗?原因是安裝元件相衝怎樣裝都會失敗...而 WAMP 上的MYSQL是事先就在windows環境上編譯好的。所以可以直接使用。        山不轉路轉,路不轉人轉。有時候自己的方法錯了就要換了方法,找朋友支援確實是個好方法...

IIS與TOMCAT架在同一台電腦,並使用不同IP共用80 PORT

  1.先去網卡設定兩個IP X.X.X.17     X.X.X.19 2.將TOMCAT設定的監聽IP設為第一個IP X.X.X.17 3.使用命令提示字元將電腦WINDOWS預設監聽的IP netsh http add iplisten ipaddress=X.X.X.19 加錯可以刪掉 netsh http delete iplisten ipaddress=X.X.X.19 4.去IIS把監聽IP設為X.X.X.19 5.重新開機便可以使用不同IP共用80 PORT

MAC蘋果電腦查看CPU型號

  在終端機輸入 sysctl machdep.cpu.brand_string 就會出現

解決mysql從windows系統移植到windows系統發生中文亂碼

圖片
       Linux上安裝mysql的預設編碼是 latin1,這導致我從windows上的資料庫移植過去會發生亂碼或問好的現象.解決方式就是 latin1編碼改成utf-8.下圖是我改完之後的變數 更改方式 登入mysql下以下指令 set character_set_client=utf8; set character_set_connection=utf8; set character_set_database=utf8; set character_set_results=utf8; set character_set_server=utf8; set character_set_system=utf8; set collation_connection=utf8; set collation_database=utf8; set collation_server=utf8; 如果設完沒反應可以重開試試或是去修改my.cnf檔案

判斷NSString是否為空

 之前用NSString去取JSON回傳解析值的時後,因為有空藍為使得我在抓取網路圖檔時程式錯誤.後來解決辦法是判斷抓回來所存在的字串是否為空   1 2 3 4 5 6 7 8 9 10 if ([ object isEqual : [ NSNull null ]]) { } else if ([ object isKindOfClass : [ NSNull class ]]) { } else if ( object == nil ){ }

HTML顯示的EXCEL用字串標記轉換數值型態的方式

  加上mso-number-format格式 *****注意的是HTML方式存擋的excel只支援標準微軟的EXCEL程式,很多其他公司的程式是不相容的 如下: <html> <title> 表資料</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <style> td {mso-number-format: \@} </style> <body> <table border="1"> <tr align="center">        <tr >         <td align="center" ><font color="#333333">003</font></td>         <td align="center" ><font color="#333333">  </font></td> <td align="center" ><font color="#333333"> </font></td> <td align="left"><font color="#333333">  </font></td>         <td align="left"><font color="#333333">0</font></td>         <td align="left"><font color="#333333"></font>

Windows server查看系統操作記錄

圖片
  CMD打指令 eventvwr

Android VideoView停止播放影片

   myVideoView.stopPlayback();

ExpandableListView動態改變高度

          private void setListViewHeight(ExpandableListView listView,                                    int group) {         ExpandableListAdapter listAdapter = (ExpandableListAdapter) listView.getExpandableListAdapter();         int totalHeight = 0;         int desiredWidth = View.MeasureSpec.makeMeasureSpec(listView.getWidth(),                 View.MeasureSpec.EXACTLY);         for (int i = 0; i < listAdapter.getGroupCount(); i++) {             View groupItem = listAdapter.getGroupView(i, false, null, listView);             groupItem.measure(desiredWidth, View.MeasureSpec.UNSPECIFIED);             totalHeight += groupItem.getMeasuredHeight();             if (((listView.isGroupExpanded(i)) && (i != group))                     || ((!listView.isGroupExpanded(i)) && (i == group))) {                 for (int j = 0; j < listAdapter.getChildrenCount(i); j++) {                     View listItem = listAdapter.getChildView(i, j, false, null,                             l

NSString轉NSDictionary

  先轉 NSData再轉 NSDictionary NSString * KBStr =....;     NSData  *data = [KBStr  dataUsingEncoding : NSUTF8StringEncoding ];          NSDictionary  *tmpResposeJson = [ NSJSONSerialization   JSONObjectWithData :data  options : NSJSONReadingAllowFragments   error : nil ];

windows執行檔傳入參數含空白字串問題

 如果寫執行檔處理傳進來的引數字串太常有特殊符號或是空白,那接收進來的字串陣列可能會錯誤. 這時候用雙引號把頭尾包起來傳入後,他就會是一個變數而不是兩個 如 aaa.exe     ASC.       SADSA.   ASDSAD 程式進入點 string args[] 長度是三  args[0]= ASC.         args[1]= SADSA.  args[2]= ASDSAD 雙引號開頭結尾可以代表一整段字串 如 aaa.exe    "ASC.       SADSA."   ASDSAD 程式進入點 string args[] 長度是二  args[0]= ASC.       SADSA.        args[1]= ASDSAD

C# 印出HttpWebResponse 回傳內容

 HttpWebResponse response=... using (Stream stream = response.GetResponseStream()) { StreamReader reader = new StreamReader(stream, Encoding.UTF8); String responseString = reader.ReadToEnd(); Console.WriteLine(responseString); }

Android Thread的使用開始與停止

  開始  aaaThread=new Thread(new Runnable()             {                 public void run() {                   要做的事情                 }             });             aaaThread.start(); 停止 aaaThread.stop();

PHP字串取代

  $urlstr= str_replace("\"","",$urlstr); 以上作用是把  " 符號取代成空白  

[Java]Main args主程式傳入倒斜線符號取代、取代倒斜線字串(特殊字元)

 public static void main(String[] args) 傳入含倒斜線特殊字元的字串時可能會無法有作用這時就要用字串取代。把它換成原本的特殊字元。 兩種方式 一.你沒看錯是四個倒斜線沒錯 String qq=args[2].replaceAll("\\\\t",'\t'+""); 二.或者是用字元來做成字串 StringBuffer cr = new StringBuffer("");      cr.append( (char) 92);      cr.append( (char) 92);      cr.append( "n" String qq=qq.replaceAll(cr.toString(),System.getProperty("line.separator"));

C#. String字串取代應用

  text . Replace ("被取代'","新字串"); 後者字串取代前者 text = text . Replace ( "<img" , @"<img class=""rwd-img""" ); 以下是讀取HTML檔案把一些語法用字串取代成想要的語法 1 2 3 4 5 string text = System . IO . File . ReadAllText ( ConfigPath , System . Text . Encoding . Default ); text = text . Replace ( "</head>" , @"<link href=""./iie/css/rwd.css"" rel=""stylesheet"" type=""text/css""></head>" ); text = text . Replace ( "<img" , @"<img class=""rwd-img""" ); text = text . Replace ( "<table class=MsoNormalTable" , @"<table class=""rwd-table""" ); System . IO . File . WriteAllText ( ConfigPath , text , System . Text . Encoding . Default );

iOS字串取代replace a character in NSString

 Swift var  deviceTokenString =  NSString (format:  "%@" , deviceToken)         deviceTokenString = deviceTokenString. stringByReplacingOccurrencesOfString ( "<" , withString:  "" ) Object-C [[[deviceToken  description ]                                        stringByReplacingOccurrencesOfString :  @"<"   withString :  @"" ]

南非國家小數點字串轉型為小數遇到的問題

   ,  String to double失敗 Android系統遇到國畫時再選南非語系會遇到原本的小數點.是以逗號,來顯示 這導致字串轉型成浮點數時會發生解析失敗的錯誤 可以參考 https://zh.wikipedia.org/wiki/%E5%B0%8F%E6%95%B8%E9%BB%9E 逗號 以下國家或地區以逗號<,>來表示基點: 阿爾巴尼亞 、 安道爾 、 阿根廷 、 奧地利 、 亞塞拜然 、 白俄羅斯 、 比利時 、 玻利維亞 、 波士尼亞與赫塞哥維納 、 巴西 、 保加利亞 、 喀麥隆 、 加拿大 法語地區、 哥斯大黎加 、 克羅埃西亞 、 古巴 、 智利 、 哥倫比亞 、 賽普勒斯 、 捷克 、 丹麥 、 多米尼加共和國 、 厄瓜多 、 薩爾瓦多 、 愛沙尼亞 、 法羅 、 芬蘭 、 法國 、 德國 、 希臘 、 格陵蘭 、 瓜地馬拉 、 宏都拉斯 、 匈牙利 、 印度尼西亞 、 冰島 、 義大利 、 拉脫維亞 、 立陶宛 、 馬其頓共和國 、 摩爾多瓦 、 荷蘭 、 澳門 (葡語官方檔案及 土生葡人 使用) 挪威 、 尼加拉瓜 、 巴拿馬 、 巴拉圭 、 秘魯 、 波蘭 、 葡萄牙 、 羅馬尼亞 、 俄國 、 塞爾維亞 、 斯洛伐克 、 南非 、 斯洛維尼亞 、 西班牙 、 瑞典 、 瑞士 、 土耳其 、 烏克蘭 、 烏拉圭 、 委內瑞拉 、 越南 、 辛巴威 暫時的解決方式 用字串取代的語法把逗號,取代成小數點.

C# 時間加減

   StimeStr = DateTime.Now.AddDays(-1).ToShortDateString() + " 00:00:00"; 用法如此以此類推

C# 開啟exe檔案

 System.Diagnostics.Process.Start("notepad.exe");

C# 判斷程序是否存在

 加入參考組件 System.Management;. 引用using System.Management;  ObjectQuery oQuery = new ObjectQuery("Select * from Win32_Process Where Name = 'AutoUpData.exe'");             ManagementObjectSearcher oSearcher = new ManagementObjectSearcher(oQuery);             ManagementObjectCollection oReturnCollection = oSearcher.Get();             if (oReturnCollection.Count > 0)             {                 label4.Text = "存在";             }else{       label4.Text = "不存在"; }

C# 使用 ADO連結ACCESS

 EsnoStr=listMesno[comboBox2.SelectedIndex].ToString();                            string   StimeStr =  DateTime.Now.ToShortDateString()+" 00:00:00";             string sAccessConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\Tradjj.mdb";             try{                 ADODB.Connection conn = new Connection(sAccessConnection);                 conn.Open(sAccessConnection, null, null, -1);             ADODB.Recordset rs0 = new Recordset();                          if (DateTime.Now.Hour > PunchOutCheck)              {                  textBox1.Text = "YY";                                    rs0.Open("select * from work_temp "            , conn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, -1);                  if (rs0.EOF)                  {                      rs0.AddNew();                      rs0.Fields["wdate"].Value = DateTime.Now.ToShortDateString();                      rs0.Fields["

將ARRAYLIST指定成 comboBox內容

  舉例 comboBox2.DataSource = listmembername;(arraylist 物件) 而更新comboBox時要先指定為NULL再重新指定。   comboBox2.DataSource = null;   comboBox2.DataSource = listmembername; 有事過不先指定為NULL不會更新。

C# 判斷網路是否連線

 程式碼  private void button1_Click( object sender, EventArgs e) { uint flags = 0x0; var isNetworkAvailable = InternetGetConnectedState( ref flags, 0); label1.Text = string .Format( "Network available: {0} ({1})" , isNetworkAvailable.ToString(), flags.ToString()); } [DllImport("wininet")] public static extern bool InternetGetConnectedState( ref uint lpdwFlags, uint dwReserved ); 記得因為要呼叫系統的DLL使用 DllImport 所以要using System.Runtime.InteropServices;

C# 圖片合成

 圖片合成程式碼 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 public class compositeImage { public void addimageadd ( string [] images ) { string str0 = images [ 1 ]; Image img0 = ReturnImage ( str0 ); System . Drawing . Image newImage = img0 . GetThumbnailImage ( img0 . Width , img0 . Height , null , new IntPtr ()); Graphics g = Graphics . FromImage ( newImage ); g . DrawImage ( img0 , 0 , 0 , img0 . Width , img0 . Height ); for ( int i = 2 ; i < images . Length ; i ++) { string str1 = images [ i ]; Image img1 = ReturnImage ( str1 ); g . DrawImage ( img1 , 0 , 0 , img1 . Width , img1 . Height ); } newImage . Save ( images [ 0 ], ImageFormat . Bmp ); } private static Image ReturnImage ( string strPhotoPath )

ASP.NET架站遇到的小問題

  工作同事程式出現的錯誤訊息,本機可以執行 無法剖稀之類的然後錯誤是這段 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WTOH.aspx.cs" Inherits="wordtohtmlTest.WTOH" %> 解決方式: 這問題原因可能有很多種,但我公司問題偏偏是最常忽略的那種。 就是執行的DLL存放的bin資料夾沒有放在根目錄下面,因為原網站是ASP   Classic ,只是把某功能改成ASP.NET。所以才會發生這樣的疏忽。最後把b in資料夾移到IIS根目錄下就可以順利使用。

[Android]JNI呼叫OPENCV數值不改變

 之前寫一支ANDROID  APP使用JNI呼叫C++函式。執行一次後發現數值就不會變。以為是鬼打牆找很多都找不出原因...還以為真得見鬼了。 過一陣子靈光一閃才想到 JNI用的類別宣告為NATIVE可能是某一個環節,使他C++部分變為靜態。在每次使用該變數時都進行初始化步驟。後來城市就可以正常運行了。

Timer使用錯誤造成程式

 以前研究所時期有個同學很天兵,寫個ANDROID鬧鐘的功能不用鬧鐘的寫法而是一直用TIMER。而且還把new TIMER寫在迴圈裏面...最後程式跑幾次正個掛掉.....我花五分鐘解決的問題他花了數個小時......人阿真得不能太自負.....從那位同學身上我學校剛愎自用的道理...

android:targetSdkVersion曾經造成的問題

         某幾個ECLIPSE與ADT版本所編譯出來的程式,只要你加上 android:targetSdkVersion="SDK版本號" 。造成了除了該版本SDK以外的版本執行都有錯誤的情況。這個原因可能是因為編譯器把城市編譯成該版本最佳化而忽略了其他版本的設定。簡單來講系統BUG,現在新的版本幾乎都沒有這個問題了。        以前研究所時同班某位同學程式碼都沒錯但卻一直無法執行,最後我叫我另外一位同學轉述我所講的把 android:targetSdkVersion="SDK版本號"刪除。就順利的執行了。

隨手筆記:JNI遇到的一個小問題

 以下是個人遇到的問題和個人的想法 之前在操作JNI調用C#所製的DLL函數時,JAVA程式每次執行一個函式會去讀取某個值在此稱A值。A值其實是C++寫出來的套件A指向一個記憶體位置。但是每次執行結果都會失敗,後來DEBUG發現每次執行時A值都不一樣(理論上A值是個全域變數,數值應該不會變動。)估計應該是JVM沒辦法處理或辨識某些DLL的執行緒狀態。而配置給A一個新的值。 最後解決方法是我把在C#的A值宣告成靜態全域變數static後重新製作DLL,就可以正常執行。應該是因static是在程式初始化時就被建立而且不能隨意更改。簡單來講配置記憶體的區域不同。

PHP 網址參數轉換成陣列/解析網址參數/[PHP]

        $url = "https://forum.gamer.com.tw/C.php?bsn=36730&snA=442&tnum=3040";        $urlarray=parse_url($url);        parse_str($urlarray['query'], $output); 可直接使用 output['bsn']  output['snA']  output['tnum'] 

[MATLAB]圖形處理技巧

圖片
  以前學習時用的東西 PPT載點: 載點一 https://drive.google.com/file/d/0B16FYg8XH6UGMUt0TFNuUnRmQ2c/view?usp=sharing 載點二 http://download.csdn.net/detail/king39461/8384765 以下為簡單介紹 Outline } 平面基本繪圖 } 立體基本繪圖 } 圖形特性設定 平面 基本繪圖 • plot 指令 • axis 指令 • set 指令 • 文字標示 • legend 指令 • num2str 指令 • fill 指令 • subplot 指令 • Fplot 指令 • 應用繪圖指令 • 向量繪圖指令 • 其他繪圖指令 plot  指令 plot( x,y ,‘ 顏色 線條 標示 ') 把一組一對一的資料組分別畫到 x 軸與 y 軸上。 顏色 : 黃   y 紅   r 綠   g 藍   b 白   w 黑   k 紫   m 青   c 線條 : 實線   - 斷線   -- 虛線   : 點虛線   -. 標示 : 正號   + 圓形    字母 o 星號    * 點   . 交叉    字母 x 方形    文字  square Axis  指令 axis ([ x min  x max  y min  y max ]) 限制顯示圖表之 X 與 Y 表示範圍 Set  指令 set( gca , ' xtick ',[1 2 5 10]) 設定 X 和 Y 顯示的座標 set( gca , ‘ ytick ',[0 1 2]) set( gca , ‘ yticklabel ’ ,’ a|b|c ’) l egend  指令 legend (‘string1’.’string2’) 圖形上很多線標時,區分其所代表意義。 string1 表示第一個出現的圖形 string2 表示第二個出現的圖形 num2str  指令 a=num2str(b) 顯示一段固定的字串,另外一段是變數。 f ill  指令 fill(x,y,’ color_style ’) 把畫線的區域內塗滿顏色 Subplot  指令 subplot( mnk ) 表示多個圖形 m 上下分割的個數 n 左右分割的個數 k 分割後的圖編