2016-04-03 5 views
0

Ich verwende Windows 10 und PHP Version 5.6.8 und Apache als Server, mit PDO_ODBC, um eine Verbindung mit einer MS Access-Datenbank herzustellen. Einige der Tabellennamen sind in Japanisch und einige der Tabellennamen sind in Englisch. Ich versuche, ausgewählte Abfragen für diese Tabellen auszuführen.Zeichencodierung des Tabellennamens wird zur Laufzeit geändert: PDO_ODBC

Die Tabellen mit Namen in Englisch geben das Ergebnis zurück, aber die Tabellennamen, die auf Japanisch sind, geben die Tabelle zurück, aber die Wertezeichen werden in nicht erkannten Zeichen geändert.

Ich habe die Protokolldatei überprüft, nachdem ich die Protokolldatei überprüft habe, weiß ich, dass die Zeichen des Tabellennamens geändert wurden, und das ist der Grund, warum ich kein Ergebnis von der Tabelle bekomme.

Hier ist, was ich in der Protokolldatei bekomme.

ERROR - 2016.04.03 16.37.29 -> -1305 - SQLSTATE [42S02]: Basistabelle oder Ansicht nicht gefunden: -1305 [Microsoft] [ODBC Microsoft Access Driver] Das Microsoft Jet Die Datenbank-Engine kann die Eingabetabelle oder die Abfrage 'ŒÚ

+0

Haben Sie versucht, den PHP-Zeichensatz (z. B. 'default_charset') und die Codierung Ihrer PHP-Quelldateien auf cp932 zu setzen? –

+0

@Grod thompson Ja, ich habe versucht, das zu tun, aber kein Glück. Gibt es jemanden, der mir sagen kann, warum diese Frage downvote haben? Wenn Sie die Frage nicht beantworten können oder die Frage nicht verstehen, lassen Sie die Frage bitte so wie sie ist. Ich werde das sehr bald beantworten. Siehe, die Antwort kommt. –

Antwort

0

das Problem gelöst, nachdem eine Änderung in der httpd.conf Datei zu machen. Ich habe AddDefaultCharset UTF-8 Zeile in dieser Datei hinzugefügt und die Datei gespeichert. Nach dem Speichern der Datei habe ich den Server neu gestartet und alles wurde behoben. Die Ergebnisse aus der Datenbank werden nun auf Japanisch angezeigt.

Verwandte Themen