반응형
블로그 이미지
sense.45

공지사항

최근에 올라온 글

최근에 달린 댓글

글 보관함

calendar

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

php json_encode 한글깨짐

2019. 2. 21. 11:26 | Posted by sense.45
반응형

php는 참 많은 기능을 제공한다.


json_encode도 한 기능이다.


이전에는 일일이 파싱해서 포멧을 마춰서 노가다를 했었는데~


json_encode는 이것을 자동으로 해준다.


참 편하다.~~~~~~~~~~


한글만 안깨지면~` 좋은데 말입니다.....


\ud55c\uae00<-- 이렇게 나옵니다.



(출처:https://stackoverflow.com/questions/18496557/pdo-utf-8-encoding-issue)
(출처:https://stackoverflow.com/questions/4475548/pdo-mysql-and-broken-utf-8-encoding)
처음에는 DB 세팅이 틀렸나~ 이리저리 보니 다 맞다.

1. $conn = new PDO('mysql:host=192.168.0.1;port=1234;dbname=' . $this->dbName , $this->user, $this->pass, array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8") );


1. $conn->setAttribute(PDO::MYSQL_ATTR_INIT_COMMAND, 'SET NAMES utf8');

1. $conn->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

1. $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


//위의 방법들을 다해봐도 안됨다.
//DB의 문제는 아니었음.

(출처:http://php.net/manual/en/function.json-encode.php)
옵션이 있답니다.
JSON_UNESCAPED_UNICODE를 선택하면 됩니다.

한글<--  이제 잘 나옵니다.







반응형

'PHP' 카테고리의 다른 글

PHP 로그남기기 error_log  (0) 2018.12.01
Centos 7 PHP 7.2  (0) 2018.07.21

안드로이드 WIFI 연결 체크

2019. 2. 12. 11:21 | Posted by sense.45
반응형

WIFI 연결 체크




private boolean checkWifiOnAndConnected() {
    WifiManager wifiMgr = (WifiManager) getSystemService(Context.WIFI_SERVICE);

    if (wifiMgr.isWifiEnabled()) { // Wi-Fi adapter is ON

        WifiInfo wifiInfo = wifiMgr.getConnectionInfo();

        if( wifiInfo.getNetworkId() == -1 ){
            return false; // Not connected to an access point
        }
        return true; // Connected to an access point
    }
    else {
        return false; // Wi-Fi adapter is OFF
    }
}


<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

출처 : https://stackoverflow.com/questions/3841317/how-do-i-see-if-wi-fi-is-connected-on-android





public static String getNetworkType(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo info = cm.getActiveNetworkInfo();
    return info.getTypeName();
}


아래 함수는 약간만 손보면 사용하기 좋겠슴다.

public static boolean isInternetIsConnected(Context context) {
    ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = cm.getActiveNetworkInfo();
    if (activeNetwork != null) { // connected to the internet
        if (activeNetwork.getType() == ConnectivityManager.TYPE_WIFI) {
            // connected to wifi
            return true;

        } else if (activeNetwork.getType() == ConnectivityManager.TYPE_MOBILE) {
            // connected to the mobile provider's data plan
            return true;
        }
    } else {
        // not connected to the internet
        return false;
    }
    return false;
}


출처 : https://stackoverflow.com/questions/48077755/how-to-check-programmatically-that-wifi-is-connected-or-data-pack-is-enabled-but


반응형

'Android' 카테고리의 다른 글

안드로이드 Calendar.getInstance API level24  (0) 2018.07.10
NFC NTAG 213  (1) 2018.03.26
How to Change the Text Color of a Substring  (0) 2018.03.20

CentOS7 nodeJs 설치

2018. 12. 17. 16:33 | Posted by sense.45
반응형

1. yum epel 

$ yum repolist

epel저장소가 없다면

# yum install epel-release



2. nodejs, npm 설치

# yum install npm nodejs


3. 버전 확인

$ node -v
$ npm -v



http://kwangsics.tistory.com/entry/CentOs7-nodeJs-%EC%84%A4%EC%B9%98


https://linuxize.com/post/how-to-install-node-js-on-centos-7/

반응형

PHP 로그남기기 error_log

2018. 12. 1. 18:03 | Posted by sense.45
반응형

PHP 초보자의 삽질


오류가 있는 데 모르겠다.


로그를 남기고 싶다.


설정을 바꾼다.


php.ini에서


log_errors = On

error_log = /경로/로그파일명.log


위의 두 설정을 후

php에서

error_reporting(E_ALL | E_STRICT); //이라인은 없어도 됨. ini 에 있는걸로 봐서                                                         //구버전에는 있어야 했나 싶은 라인임,
error_log("에라이", 3, "/경로/로그파일명.log");


이렇게 하면 된다는데


나는 안됨.


centos 7

php 7.2


환경설정에 뭔가 빠졌나????


여기 저기 찿아보니


/usr/lib/systemd/system/httpd.service


에서 

PrivateTmp=false

로 한다.




http://php.net/manual/kr/function.error-log.php
https://www.reddit.com/r/Fedora/comments/35bsym/how_do_i_disable_privatetmp_for_apache/


멏줄 안되는데 한나절 걸림 ㅆ





반응형

'PHP' 카테고리의 다른 글

php json_encode 한글깨짐  (1) 2019.02.21
Centos 7 PHP 7.2  (0) 2018.07.21

Centos 7 PHP 7.2

2018. 7. 21. 18:13 | Posted by sense.45
반응형

centos 7에 톰캣으로 spring을 사용하다가


갑자기 php를 사용할 일이 생겼습니다.


default로 php가 설치되어 있는 줄 알았는데 


그렇지 않았네요....


How to install PHP 7.2 on CentOS 7/RHEL 7

 

위 링크를 그대로 따라 했습니다.


요약하면


$ sudo yum install epel-release


$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm


$ sudo yum install yum-utils


$ sudo yum-config-manager --enable remi-php72

$ sudo yum update


$ sudo yum search php72 | more

$ sudo yum search php72 | egrep 'fpm|gd|mysql|memcache'


$ sudo yum install php72


$ sudo yum install php72-php-fpm php72-php-gd php72-php-json php72-php-mbstring php72-php-mysqlnd php72-php-xml php72-php-xmlrpc php72-php-opcache



여기까지 그대로 따라하면 됩니다.


그런데


$ php --version


이렇게 버전을 알려고 하면 



여태 설치 했는데 명열을 찾을 수 없답니다. ㅠㅠ


$ php72 --modules


이 명령은 실행됩니다.


다시 조회합니다.


CentOS installed php72 but command line php isn not working

여기서 다시 친절하게 알려줍니다.

# yum-config-manager --enable remi-php72
# yum update
# yum install php-cli
# php -v

이제 버전이 php로도 보입니다.




반응형

'PHP' 카테고리의 다른 글

php json_encode 한글깨짐  (1) 2019.02.21
PHP 로그남기기 error_log  (0) 2018.12.01

안드로이드 Calendar.getInstance API level24

2018. 7. 10. 10:47 | Posted by sense.45
반응형

안드로이드 개발시 Calendar.getInstance를 사용할 일이 자주 있습니다.


뜬금없이 오류가 발생합니다.



처음에는 API level을 24로 바꿔서 실행했습니다.


잘 실행됩니다.


근데 너무 최신버전입니다.

(안드로이드 플랫폼 버전7입니다.)


다시 여기 저기 찿아보니 


import를 잘못 한거랍니다.


import할때 Alt+ Enter하면

아래와 같이 나오면 java.util.Calendar를 선택합니다..





아래 와 같이 변경하면 됩니다.



이제 api level을 20이하로도 가능하게 되었습니다.


반응형

'Android' 카테고리의 다른 글

안드로이드 WIFI 연결 체크  (0) 2019.02.12
NFC NTAG 213  (1) 2018.03.26
How to Change the Text Color of a Substring  (0) 2018.03.20

JAVA long형을 String으로 형변환

2018. 6. 16. 18:39 | Posted by sense.45
반응형

숫자를 문자로 바꿔서 사용해야만 할때가 있슴니다.


int, long,double등등을 string로 말입니다.


C#에서는 변수명.ToString()하면 됩니다. //참 쉽습니다.


안드로이드 개발 중 이런 필요에 의해서 .tostring()를 시도했지만


안됩니다.


급 구글링 합니다.



JAVA에서는 다음 3가지 방법을 사용합니다.



long 변수명1 = 100;

int 변수명2


1. String mA = String.valueOf(변수명1);


2. String mB = Long.toString(변수명1);

String mC = Integer.toString(변수명2);


3. String mD = 변수명1 + "";




반응형

sql 근사치 조회

2018. 5. 17. 13:01 | Posted by sense.45
반응형



sql에서 특정 값(A)을 조회 할 때 해당값이 숫자형식인 경우


A를 찾는데 A가 없고 A에 가까운값들이 있는가를 조회하고 싶을때가 있다.


즉 1을 찿는데 1.11, 0.99와 같은 것들이 이러한 케이스.


이때는 ABS함수를 이용하는데 ABS는 절대값을 구하는 함수인데


ABS( A - 1)하면 1에 가까운 값을 찿을 수 있습니다.


select *

from tableName

where condition

order by ABS(A-근사값)

limit 1




반응형

C# ListBox에 색깔넣기

2018. 4. 6. 19:14 | Posted by sense.45
반응형

C# ListBox에 색을 넣으면 가독성이 좋아집니다.


색을 넣어 보겠습니다.



끝.




ㅎㅎ





1. Class를 하나 만듭니다.

public class MyListBoxItem

{

        public MyListBoxItem(Color c, string m)

        {

            ItemColor = c;

            Message = m;

        }

        public Color ItemColor { get; set; }

        public string Message { get; set; }

}



2. 리스트박스의 DrawItem 이벤트를 추가합니다.



        private void listBox1_DrawItem(object sender, DrawItemEventArgs e)

        {

            if (e.Index == -1)   return;    //아이템이 없는 경우 는 할 일이 없습니다.


            MyListBoxItem item = listBox1.Items[e.Index] as MyListBoxItem; 

            if (item != null)

            {

                e.Graphics.DrawString( 

                    item.Message, 

                    listBox1.Font, 

                    new SolidBrush(item.ItemColor), 

                    0, 

                    e.Index * listBox1.ItemHeight 

                );

            }

            else

            {

                // The item isn't a MyListBoxItem, do something about it

            }


        }



3. 이제 버턴이벤트나 기타 모듈에서 아이템을 추가합니다.


listBox1.Items.Add(new MyListBoxItem(Color.Red, "빨간색 ==== Red Color"));

listBox1.Items.Add(new MyListBoxItem(Color.Blue, "파란색 ==== Blue Color"));



이상태에서 실행하면 



이렇게 나옵니다......ㅠㅠ





DrawMode 를o OwnerDrawFixed로 변경하여야 합니다.

(Normal만 아니면 됩니다.)




출처

https://msdn.microsoft.com/en-us/library/system.windows.forms.listbox.drawitem(v=vs.110).aspx


https://stackoverflow.com/questions/6896151/c-sharp-change-listbox-items-color


https://stackoverflow.com/questions/29173517/winforms-simplest-way-to-change-listbox-text-color-on-the-fly



반응형

'C#' 카테고리의 다른 글

c# List FindIndex  (0) 2018.04.04
C#ListBox에서 아래로 스크롤 하기  (0) 2018.04.02
c#배열에 SqlDataReader 결과를 넣는 방법  (0) 2018.03.30
DLL 버전이 알고 싶은 경우  (0) 2018.03.22

c# List FindIndex

2018. 4. 4. 12:53 | Posted by sense.45
반응형

c#에서 List를 사용하면 다양한 기능이 많아 코드량이 상당히 줄어듭니다.


 List <int> i = new List<i>;


i.add(1);


int j = i,findindex(1);


j는 당연히 0입니다.


findindex는 도움이 많이 될듯한데...


문제는 int가 아니고 class를 넣는 경우는 문제가 다름니다.


class c

{

int i;

string s;

}



List<c>lc = new List<c>;


lc.Add(new c());

lc.Add(new c());


lc[0].i=100;

lc[1].i=200;



이때 100이 있는 list를 찿고 싶을때


방법이 3가지입니다.

1. for문을 사용하는 경우

2. lambdas를 사용하지 않는경우

3. lambdas를 사용하는경우



1.번은 생략.


2.lambdas를 사용하지 않는경우


   int index = lc.FindIndex(

                delegate(c c1)

                {

                    return c1.i(100);

                });





3. lambdas를 사용하는경우

int  index = lc.FindIndex(r => r.i(200));




출처 : https://stackoverflow.com/questions/1568593/how-to-use-indexof-method-of-listobject


http://www.csharp-examples.net/list/



반응형

'C#' 카테고리의 다른 글

C# ListBox에 색깔넣기  (0) 2018.04.06
C#ListBox에서 아래로 스크롤 하기  (0) 2018.04.02
c#배열에 SqlDataReader 결과를 넣는 방법  (0) 2018.03.30
DLL 버전이 알고 싶은 경우  (0) 2018.03.22
이전 1 2 다음