Gå til innhold

fjusk1

Medlemmer
  • Innlegg

    4
  • Ble med

  • Besøkte siden sist

Innlegg skrevet av fjusk1

  1. Hei

     

    Har problemer med charset når jeg setter inn i db fra shellscript. Har søkt en del på nettet, og finner mange svar når det skal gjøres fra php, men ikke fra shellscript.

     

    Her er scriptet:

    Kode

     

     

    #!/bin/bash

    SQL_HOST=localhost
    SQL_USER=root
    SQL_PASSWORD=1234
    SQL_DATABASE=smsd
    SQL_TABLE=sms_log


    #Set some SQL parameters
    if [ "$SQL_PASSWORD" != "" ]; then
    SQL_ARGS="-p$SQL_PASSWORD";
    else
    SQL_ARGS="";
    fi
    SQL_ARGS="-h $SQL_HOST -u $SQL_USER $SQL_ARGS -D $SQL_DATABASE -s -e"
    mysql $SQL_ARGS "SET NAMES utf8;"
    #Insert a new entry into the SQL table

    if [ "$1" = "FAILED" ] || [ "$1" = "SENT" ]; then
    mysql $SQL_ARGS "insert into $SQL_TABLE (type,sent,sender,receiver,msgid,text) values (\"$1\",\"$DATE\",\"$FROM\",\"$TO\",\"$3\",\"$TEXTSQLS\");";
    elif [ "$1" = "RECEIVED" ]; then
    mysql $SQL_ARGS "insert into $SQL_TABLE (type,sent,received,sender,receiver,kodeord,text) values (\"RECEIVED\",\"$SENT\",\"$DATE\",\"$FROM\",\"$SUBJECT\",\"$KODEORD\",\"$TEXTSQLR\");";
    elif [ "$1" = "REPORT" ]; then
    #Extract more data from the status report file
    DISCHARGE=`sed -e 1,/SMS\ STATUS/d < $2 | formail -zx Discharge_timestamp:`
    MSGID=`sed -e 1,/SMS\ STATUS/d < $2 | formail -zx Message_id:`
    STATUS=`sed -e 1,/SMS\ STATUS/d < $2 | formail -zx Status: | cut -f1 -d,`

    if [ "$MSGID" != "" ]; then
    ID=`mysql $SQL_ARGS "select id from $SQL_TABLE where receiver=\"$FROM\" and type=\"SENT\" and msgid=\"$MSGID\" order by id desc limit 1;"`
    mysql $SQL_ARGS "update $SQL_TABLE set received=\"$DISCHARGE\",status=\"$STATUS\" where id=\"$ID\";"
    fi

     

     

    Når jeg legger manuellt inn i db, så kommer det inn med æ, ø og å. Men når det kommer inn via shellscriptet så fungerer ikke æ,ø og å.

     

    post-376070-0-94565700-1426454476_thumb.png

     

    Så vidt jeg har skjønt så må du sette charset pr connection i MySQL, men er usikker på hvordan dette kan gjøres fra scriptet. Noen ideer?

×
×
  • Opprett ny...