osx写入sql server正常。linux写入sql server乱码。
我们有个项目,由不同团队开发。一边用 windows + .net + sql server 2008
;另外一边用linux + yii(php) + mysql
开发,现在用yii
去连接sql server
,开发环境的系统是osx
,yii
用utf-8
,sql server
上用gbk
。
osx写入sql server正常。linux写入sql server乱码。
据说跟系统的locale有关!!!
求高手解答。
osx配置如下,utf8放下面会报错,不知道什么原因。
<code>'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ], </code>
ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
<code> 'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ], </code>
回复内容:
我们有个项目,由不同团队开发。一边用 windows + .net + sql server 2008
;另外一边用linux + yii(php) + mysql
开发,现在用yii
去连接sql server
,开发环境的系统是osx
,yii
用utf-8
,sql server
上用gbk
。
osx写入sql server正常。linux写入sql server乱码。
据说跟系统的locale有关!!!
求高手解答。
osx配置如下,utf8放下面会报错,不知道什么原因。
<code>'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ], </code>
ubuntu配置如下,utf8放哪一样,程序运行正常,但是写入sql server会乱码。
<code> 'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', ], </code>
自己找到方法了。作图记录。
网络上的资料大部分是freetds
+PDO unixODBC
;因为我是用yii2
的,不知道能不能用odbc
没去试,yii2
的文档里用freetds
+PDO dblib
,我就用这个了。
先看osx环境,freetds是用命令安装的,再看下系统locale编码情况,然后验证下tsql
连接和版本情况
现在看下ubuntu环境,freetds是用命令sudo apt-get install freetds-bin
装的,先看图。我的ubuntu服务器是阿里云的,查了系统locale,没有zh_CN.UTF-8
的编码因此先安装这个,这个步骤网络上很多,晚点把链接贴在下面。看到第一张图的版本号是4.2,这是默认装的,为了解决乱码的问题,还要在配置文件里改成7.1,改变客户单编码为UTF-8
,去掉前面的;
,看图。
数据库配置:
<code>//osx 'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname;charset=utf8', 'username' => 'username', 'password' => 'password', //'charset' => 'utf8', //放这报错 ], //ubuntu 'api' => [ 'class' => 'yii\db\Connection', 'dsn' => 'dblib:host=x.x.x.x;dbname=dbname', 'username' => 'username', 'password' => 'password', 'charset' => 'utf8', ], </code>
相关链接:
freetds:http://www.freetds.org/userguide/index.htm
freetds+PDO unixODBC:http://www.open-open.com/lib/view/open1405003628966.html
freetds+PDO unixODBC:http://aseity.blog.163.com/blog/static/16481711200702061211659/
freetds安装:http://www.jxm.cc/blogs/473.html
locate安装:http://www.kuqin.com/zhanz/20120219/318273.html
locale介绍:http://blog.csdn.net/rstevens/article/details/2025410

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an veralteten und entfernten Funktionen. In dieser Anleitung wird erklärt, wie Sie PHP 8.4 installieren oder auf PHP 8.4 auf Ubuntu, Debian oder deren Derivaten aktualisieren. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, ist die Installation aus einem APT-Repository wie unten erläutert oft schneller und sicherer, da diese Repositorys in Zukunft die neuesten Fehlerbehebungen und Sicherheitsupdates bereitstellen.

CakePHP ist ein Open-Source-Framework für PHP. Es soll die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich vereinfachen. CakePHP basiert auf einer MVC-ähnlichen Architektur, die sowohl leistungsstark als auch leicht zu verstehen ist. Modelle, Ansichten und Controller gu

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Visual Studio Code, auch bekannt als VS Code, ist ein kostenloser Quellcode-Editor – oder eine integrierte Entwicklungsumgebung (IDE) –, die für alle gängigen Betriebssysteme verfügbar ist. Mit einer großen Sammlung von Erweiterungen für viele Programmiersprachen kann VS Code c

CakePHP ist ein Open-Source-MVC-Framework. Es erleichtert die Entwicklung, Bereitstellung und Wartung von Anwendungen erheblich. CakePHP verfügt über eine Reihe von Bibliotheken, um die Überlastung der häufigsten Aufgaben zu reduzieren.

Dieses Tutorial zeigt, wie XML -Dokumente mit PHP effizient verarbeitet werden. XML (Extensible Markup-Sprache) ist eine vielseitige textbasierte Markup-Sprache, die sowohl für die Lesbarkeit des Menschen als auch für die Analyse von Maschinen entwickelt wurde. Es wird üblicherweise für die Datenspeicherung ein verwendet und wird häufig verwendet

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Eine Zeichenfolge ist eine Folge von Zeichen, einschließlich Buchstaben, Zahlen und Symbolen. In diesem Tutorial wird lernen, wie Sie die Anzahl der Vokale in einer bestimmten Zeichenfolge in PHP unter Verwendung verschiedener Methoden berechnen. Die Vokale auf Englisch sind a, e, i, o, u und sie können Großbuchstaben oder Kleinbuchstaben sein. Was ist ein Vokal? Vokale sind alphabetische Zeichen, die eine spezifische Aussprache darstellen. Es gibt fünf Vokale in Englisch, einschließlich Großbuchstaben und Kleinbuchstaben: a, e, ich, o, u Beispiel 1 Eingabe: String = "TutorialPoint" Ausgabe: 6 erklären Die Vokale in der String "TutorialPoint" sind u, o, i, a, o, ich. Insgesamt gibt es 6 Yuan
