运行时正在更改表名的字符编码:PDO_ODBC


character encoding of table name is being changed at runtime: PDO_ODBC

我运行的是Windows 10和PHP 5.6.8版本,Apache作为服务器,使用PDO_ODBC连接MS Access数据库。有些表名是日语的,有些表名则是英语的。我正在尝试对这些表运行选择查询。

英文名称的表将返回结果,但日文名称的表正在返回表,但值字符将更改为未识别的字符。

我已经检查了日志文件,在检查日志文件后,我发现表名的字符发生了更改,这就是我没有从表中得到任何结果的原因。

这是我在日志文件中得到的内容。

错误-2016-04-03 16:37:29-->-1305-SQLSTATE[42S02]:找不到基表或视图:-1305[Microsoft][ODBC Microsoft Access Driver]Microsoft Jet数据库引擎找不到输入表或查询"ŒÚq"。请确保它存在并且其名称拼写正确。(SQLExecute[-1305],位于ext''pdo_odbc''dodbc_stmt.c:254),第272行上的c:''examplep''htdocs''newsPaper''fuel''core''classes''database''pdo''connection.php中的查询:"SELECT*FROMŒÚq ''l WHERE recID=2;"

httpd.conf文件中进行一次更改后解决了问题。我已经在此文件中添加了AddDefaultCharset UTF-8行并保存了该文件。保存文件后,我重新启动了服务器,现在一切都修复了,数据库返回的结果用日语显示。