stbyruby 发表于 2018-11-28 06:16:06

Ubuntu Linux Apache安装设置(中文网页乱码的解决方法)

今天出现 apache jk tomcat整合 出现乱码  在网上说apache 的 默认编码改为 utf-8
  tomcat 我用8080访问也是好的,
  后来原来是 apache和tomcat的通信上 的地方没有配置
  参见 http://www.iteye.com/topic/177911
  http://wiki.ubuntu.org.cn/index.php?title=LAMP_服务器安装配置&variant=zh-cn
  很强大
  步骤是
  vim/etc/apache2/conf.d/charset
  将其中的
  # AddDefaultCharset
  的井号去掉,后面字段改成UTF-8(如果您的网站是这样了话)
  AddDefaultCharset UTF-8
  中间的空格数并不重要,但一定要有。
  sudo /etc/init.d/apache2 restart
  我们在使用Tomcat应用服务器时,为了更好的支持URL地址中的中文参数问题,我们需要做如下的配置来确保应用程序接受到参数不乱码。比如我的系统采用了UTF-8的编码方式,那么如果直接传递中文参数,需要在tomcat进行如下设置:
  1.如果单使用tomcat,不整合apache
  我们需要修改server.xml文件的如下行:
  Java代码 " quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
  
  注意URIEncoding="UTF-8"的部分,即将URI的编码设置为“UTF-8“,这样就不会有问题了;
  2.整合tomcat和apache后的设置
  刚开始我没有整合的时候传递的中文参数可以很好的解决,后来整合apache后,却出现乱码了,绕过apache后是正常的,所以问题出现在apache或apache和tomcat的通信上,经过baidu,好不容易找到答案。修改server.xml文件中的如下行:
  Java代码 " quality="high" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer">
  
  这出现apache和tomcat的通信上,由于我这里的整合是采用JK,tomcat使用的是ajp13协议,所以,需要在他们的通信阶段来处理编码,即代码中的URIEncoding="UTF-8"部分。
  以上是我在处理tomcat的中文参数时遇到的问题,记下来以备速查:-)

页: [1]
查看完整版本: Ubuntu Linux Apache安装设置(中文网页乱码的解决方法)