当我将sqlplus(windows 7,cmd)连接到oracle数据库并使用umlauts(ü,ö,ä)进行查询时,我没有收到任何回复。
我查询了NLS_LANG并得到了回复:
AMERICAN_AMERICA.WE8ISO8859P1
oracle数据库在linux发行版上运行。所以我打开了cmd框并输入了
set NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
并重复查询 - 再一次没有成功。然后我得到了以下提示:
set NLS_LANG=German_Germany.WE8PC850'
这最终奏效了。但我想在joomla中使用查询语句。现在我不知道如何处理这个问题。我使用oci8和oracle10g。有什么想法吗?
提前致谢。
答案 0 :(得分:0)
根据Oracle文档,您可以通过在Linux中运行'setenv'命令永久设置NLS_LANG(而不必在每次连接时设置它):
setenv NLS_LANG German_Germany.WE8PC850
链接:http://docs.oracle.com/cd/E12102_01/books/AnyInstAdm784/AnyInstAdmPreInstall18.html
如果您有权访问服务器,这当然有效。如果你不这样做,可能有一些方法在每次Joomla连接到数据库后调用'set NLS_LANG = German_Germany.WE8PC850',但我对Joomla一无所知,所以我无法帮助你!
答案 1 :(得分:0)
我在@ddallala的帖子中找到了解决方案。这是链接:utf8_decode
utf8_decode($_POST['search_name_with_special_character'])
是解决方案。