


Discutez des causes et des solutions des caractères tronqués de l'oracle Golang
Lorsque Golang utilise la base de données Oracle, il est courant d'avoir des caractères tronqués. La manifestation spécifique est que les caractères chinois ou autres caractères spéciaux insérés dans la base de données ne peuvent pas être affichés correctement. Ce problème peut avoir plusieurs causes, analysons-les et résolvons-les une par une ci-dessous.
Tout d'abord, nous devons confirmer si la base de données Oracle elle-même prend en charge le jeu de caractères chinois. Pendant le processus de création de la base de données, vous devez choisir de prendre en charge les jeux de caractères chinois, tels que l'encodage UTF8, afin que les caractères chinois puissent être correctement enregistrés et affichés. Si le jeu de caractères correspondant n'est pas sélectionné lors de la création de la base de données, des caractères tronqués peuvent facilement apparaître lors de l'utilisation.
Deuxièmement, nous devons vérifier si le jeu de caractères est correctement défini dans le programme Golang. Dans Golang, nous pouvons gérer les jeux de caractères en définissant l'encodage des fichiers de code source ou en utilisant des bibliothèques spécifiques. Si le jeu de caractères utilisé par le programme n'est pas cohérent avec la base de données, des caractères tronqués apparaîtront. Dans le code Golang, vous pouvez utiliser le code suivant pour définir le jeu de caractères :
db, err := sql.Open("ora", "user/pass@192.168.1.100:1521/ORCL") if err != nil { log.Fatal(err) } db.SetConnMaxLifetime(time.Hour) db.SetMaxIdleConns(10) db.SetMaxOpenConns(100) db.Exec("ALTER SESSION SET NLS_LANGUAGE='SIMPLIFIED CHINESE'") db.Exec("ALTER SESSION SET NLS_TERRITORY='CHINA'") db.Exec("ALTER SESSION SET NLS_CHARACTERSET='AL32UTF8'")
Dans l'exemple ci-dessus, le package database/sql
du langage Go est utilisé pour se connecter à la base de données Oracle et exécuter les tâches d'Oracle. Script SQL. Définir le jeu de caractères. Parmi eux, NLS_CHARACTERSET
est défini sur le codage UTF8. Ce jeu de caractères peut enregistrer des caractères chinois et d'autres caractères internationaux. database/sql
包来连接Oracle数据库,并通过执行Oracle的SQL脚本来设置字符集。其中 NLS_CHARACTERSET
设置的是UTF8编码,这个字符集能够保存中文字符和其它国际字符。
最后,我们需要检查数据是否正确地进行了编码和解码。如果数据在数据库写入时正确地进行了编码(使用UTF8编码保存),在读取时也需要使用UTF8解码才能够正确地显示。我们可以使用Golang的 encoding
包来进行编码和解码操作,例如:
src := "你好,世界" dst1 := make([]byte, len(src)*3) dst1 = []byte(src) dst2, err := unicode.UTF32(unicode.BigEndian, unicode.IgnoreBOM).NewEncoder().Bytes([]byte(src)) if err != nil { log.Fatal(err) } println(string(dst1)) println(string(dst2))
上述示例中使用的是Go语言的 encoding/unicode
包进行编码,dst1
按原样保存中文字符,dst2
encoding
de Golang pour effectuer des opérations d'encodage et de décodage, par exemple : rrreee
L'exemple ci-dessus utilise le packageencoding/unicode
du langage Go pour l'encodage, dst1 enregistre les caractères chinois tels quels, tandis que dst2
est codé en UTF32, de sorte que le jeu de caractères UTF32 puisse être utilisé dans Oracle pour enregistrer et lire des données. 🎜🎜En résumé, pour résoudre le problème des caractères tronqués lorsque Golang utilise Oracle, nous devons nous assurer que la base de données elle-même prend en charge le jeu de caractères chinois, garantir que le programme Golang définit correctement le jeu de caractères et implémente le codage et le décodage corrects des données. Ce n’est que si ces étapes sont effectuées correctement que le problème des caractères tronqués pourra être définitivement résolu. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds





OpenSSL, en tant que bibliothèque open source largement utilisée dans les communications sécurisées, fournit des algorithmes de chiffrement, des clés et des fonctions de gestion des certificats. Cependant, il existe des vulnérabilités de sécurité connues dans sa version historique, dont certaines sont extrêmement nocives. Cet article se concentrera sur les vulnérabilités et les mesures de réponse communes pour OpenSSL dans Debian Systems. DebianopenSSL CONNUTS Vulnérabilités: OpenSSL a connu plusieurs vulnérabilités graves, telles que: la vulnérabilité des saignements cardiaques (CVE-2014-0160): cette vulnérabilité affecte OpenSSL 1.0.1 à 1.0.1F et 1.0.2 à 1.0.2 Versions bêta. Un attaquant peut utiliser cette vulnérabilité à des informations sensibles en lecture non autorisées sur le serveur, y compris les clés de chiffrement, etc.

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Chemin d'apprentissage du backend: le parcours d'exploration du front-end à l'arrière-end en tant que débutant back-end qui se transforme du développement frontal, vous avez déjà la base de Nodejs, ...

La différence entre l'impression de chaîne dans le langage go: la différence dans l'effet de l'utilisation de fonctions println et string () est en Go ...

Cet article présente une variété de méthodes et d'outils pour surveiller les bases de données PostgreSQL sous le système Debian, vous aidant à saisir pleinement la surveillance des performances de la base de données. 1. Utilisez PostgreSQL pour reprendre la surveillance Afficher PostgreSQL lui-même offre plusieurs vues pour surveiller les activités de la base de données: PG_STAT_ACTIVITY: affiche les activités de la base de données en temps réel, y compris les connexions, les requêtes, les transactions et autres informations. PG_STAT_REPLIcation: surveille l'état de réplication, en particulier adapté aux grappes de réplication de flux. PG_STAT_DATABASE: Fournit des statistiques de base de données, telles que la taille de la base de données, les temps de validation / recul des transactions et d'autres indicateurs clés. 2. Utilisez l'outil d'analyse de journaux pgbadg

Le problème de l'utilisation de Redessstream pour implémenter les files d'attente de messages dans le langage GO consiste à utiliser le langage GO et redis ...

Deux façons de définir les structures dans le langage GO: la différence entre les mots clés VAR et le type. Lorsque vous définissez des structures, GO Language voit souvent deux façons d'écrire différentes: d'abord ...
