Mysql
 sql >> Baza danych >  >> RDS >> Mysql

GoLang - Utrzymuj przy użyciu zestawu znaków ISO-8859-1

Postępowałbym zgodnie z instrukcjami:„Close jest konieczne, aby usunąć wszelkie pozostałe częściowo przetłumaczone znaki na wyjściu”. Na przykład

package main

import (
    "bytes"
    "code.google.com/p/go-charset/charset"
    _ "code.google.com/p/go-charset/data"
    "fmt"
    "io/ioutil"
    "strings"
)

func toISO88591(utf8 string) (string, error) {
    buf := new(bytes.Buffer)
    w, err := charset.NewWriter("latin1", buf)
    if err != nil {
        return "", err
    }
    fmt.Fprintf(w, utf8)
    w.Close()
    return buf.String(), nil
}

func fromISO88591(iso88591 string) (string, error) {
    r, err := charset.NewReader("latin1", strings.NewReader(iso88591))
    if err != nil {
        return "", err
    }
    buf, err := ioutil.ReadAll(r)
    if err != nil {
        return "", err
    }
    return string(buf), nil
}

func main() {
    utfi := "£5 for Peppé"
    fmt.Printf("%q\n", utfi)
    iso, err := toISO88591(utfi)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Printf("%q\n", iso)
    utfo, err := fromISO88591(iso)
    if err != nil {
        fmt.Println(err)
    }
    fmt.Printf("%q\n", utfo)
    fmt.Println(utfi == utfo)
}

Wyjście:

"£5 for Peppé"
"\xa35 for Pepp\xe9"
"£5 for Peppé"
true



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Znaczniki czasu Laravel pokazujące milisekundy

  2. Wynik zapytania MySql przez wszystkie godziny dnia

  3. Odśwież zawartość div tylko wtedy, gdy nowa zawartość zostanie dodana do bazy danych

  4. Skopiuj bazę danych mysql ze zdalnego serwera na komputer lokalny

  5. Podłączanie aplikacji Heroku Lumen do Amazon RDS MySQL 5.7.19