php教程中文乱码

中文名乱码是因为:

FCKeditor使用UTF-8编码,

自己机子比如是Windows系统

文件名使用的是GBK编码,

在上传中需要,改下编码,从UTF-8到GBK

==>第一个思路,转码思路,要修改两个文件,第一个文件:

.fckeditoreditorfilemanagerconnectorsphpcommands.php 文件

里面有一个 FileUpload 函数:

move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

改为

move_uploaded_file( $oFile['tmp_name'], iconv("utf-8","gbk",$sFilePath) ) ;

----------

第二个文件:

.fckeditoreditorfilemanagerconnectorsphputil.php 文件

找到 ConvertToXmlAttribute 函数:

将:return ( utf8_encode( htmlspecialchars( $value ) ) ) ;

修改为:return iconv("GBK", "UTF-8", htmlspecialchars( $value ));

==>第二个思路,修改上传文件的名字:

需要修改如下:

在 .fckeditoreditorfilemanagerconnectorsphpcommands.php 文件中

找到 FileUpload 函数:将 $sFileName = $oFile['name'];

修改如下:

//--------------------------------------------------------------

//修正上传文件中文乱码方法之二:(修改上传文件的名字)

$sFileName = "sda.php";

$sOriginalFileName = $sFileName;

$sExtension = substr($sFileName, (strrpos($sFileName, '.') + 1));//找到扩展名

$sExtension = strtolower($sExtension);

$sFileName = date("YmdHis").rand(100, 200).".".$sExtension;

//--------------------------------------------------------------

个人认为第一种方法还是蛮好的!

java版

在使用FCKeditor2.4.3时若上传的图片或者flash的文件名为中文时,发现一下情况:

问题1:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中选择上传按钮,如果上传的文件名为中文时会出现乱码。

解决办法:

把SimpleUploaderServlet.java做如下修改:

找到该程序中DiskFileUpload upload = new DiskFileUpload(),然后在该行下面添加

upload.setHeaderEncoding("UTF-8")

问题2:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中使用浏览

服务器按钮上传中文文件时会出现乱码。

解决办法:

和问题1的解决办法基本一样,只不过需要在ConnectorServlet.java中添加

upload.setHeaderEncoding("UTF-8")便可。

问题3:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中点击浏览

服务器按钮,会弹出“浏览服务器”页面,如果想在该页面中使用Create New Folder按钮

来创建一个中文目录时,会出现中文目录乱码。

解决办法:

web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改

tomcat服务器中conf目录下的server.xml。如下:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups教程="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>

其实就是在原来的基础上添加URIEncoding的属性值为utf-8。

在使用FCKeditor2.4.3时若上传的图片或者flash的文件名为中文时,发现一下情况:

问题1:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中选择上传按钮,如果上传的文件名为中文时会出现乱码。

解决办法:

找到FCKeditor.java解压包中的src目录下SimpleUploaderServlet.java做如下修改:

找到该程序中DiskFileUpload upload = new DiskFileUpload(),然后在该行下面添加

upload.setHeaderEncoding("UTF-8"),重新编译成class文件并利用WinRAR把该class文件

添加到FCKeditor-2.3.jar中相应的位置,然后覆盖你的web项目中原来的jar包便可。

问题2:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中使用浏览

服务器按钮上传中文文件时会出现乱码。

解决办法:

和问题1的解决办法基本一样,只不过需要在ConnectorServlet.java中添加

upload.setHeaderEncoding("UTF-8")便可。

问题3:

当点击“插入/编辑图像”或者“插入/编辑Flash”按钮时,在弹出的对话框中点击浏览

服务器按钮,会弹出“浏览服务器”页面,如果想在该页面中使用Create New Folder按钮

来创建一个中文目录时,会出现中文目录乱码。

解决办法:

web容器的编码要与FCKeditor默认的编码UTF-8一致,如果使用的是Tomcat,需修改

tomcat服务器中conf目录下的server.xml。如下:

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="utf-8" />

enableLookups="false" redirectPort="8443" protocol="AJP/1.3" URIEncoding="utf-8"/>

其实就是在原来的基础上添加URIEncoding的属性值为utf-8。

注:对于问题3,这种解决办法不可取,最好不要去修改服务器的编码,否则会影响到服务器上其它的工程。解决这个编码的问题可以修改源代码或者从新编写一个类来处理。通过观察打开的上传浏览对话框可以找对对应的htm页面和负责处理上传文件名称的com.fredck.FCKeditor.uploader. ConnectorServlet这个类,然后找到对应的参数,转换编码便可。如:String

newFolderStr=request.getParameter("NewFolderName");

newFolderStr=new String(newFolderStr.getBytes("iso8859-1"),"utf-8");

=================================================================================

fckeditor如果大家搞定啦1!那一定想到他是没有提供删除功能的!!

以下是一段js,放在调用feckeditor的jsp教程页面

function FCKeditor_OnComplete( editorInstance )

{

editorInstance.Events.AttachEvent( 'OnBlur', onEditorBlur );

}

function onEditorBlur(){

var imgs = FCKeditorAPI.GetInstance('EditorDefault').EditorDocument.body.all.tags("img");

for(var i=0; i < imgs.length; i++){

alert(imgs[i].src);

//这里你可以用一个隐匿域来接收这些路径信息

}

}

把这些路径信息放置于数据库教程是的一个字段,删除文档时一起删除,就可以解决图片存留问题

========================================================================================

避免上下滚动条的出现:

在fckconfig.js中加入下列2句:

FCKConfig.Plugins.Add( 'autogrow ' ) ;

FCKConfig.AutoGrowMax = 4000 ; //这是允许自动增长的最大高度限制

同时请确认fckeditoreditorpluginsautogrow有这个目录存在,没有的话到官网下载最新版FCK。

另外注意FCKConfig.PluginsPath的路径你设置对了没有。

===========================================================================

FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/ ' ;

这个是对的,系统默认的路径,FCK使用也没问题

就是不能自动调整高度

=============================================================================

FCKConfig.PluginsPath = FCKConfig.BasePath + 'plugins/ ' ;

这是js里的语句。BasePath不是在这设的,是在php里调用FCK时设置的。

========================================================================

不行的话是不是你曾经改过FCK的源码。

你重新下载文件,只改动这2行测试一下就知道了。别的什么都不用改就可以实现你所说的要求。

FCKConfig.Plugins.Add( 'autogrow ' ) ;

FCKConfig.AutoGrowMax = 4000 ;

问题二

FCKeditor中文乱码问题

在FCKeditor的使用中,主要有在3个地方会出现中文乱码:

① 在“浏览服务器”页面中创建新目录时

问题:当点击“插入/编辑图象”或“插入/编辑Flash”时,会弹出“图象属性”或“Flash属性”对话框,然后单击其中的“浏览服务器”按钮时,会打开“浏览服务器”的页面,在这个页面中创建中文名目录时会出现乱码。

解决:修改Web容器的字符编码。因为FCKeditor的默认字符编码是UTF-8,所以将Web容器的字符编码也修改成UTF-8。如果Web容器用的是Tomcat,打开文件%CATALINA_HOME%/conf/server.xml,修改如下:

port="8080"

redirectPort="8443"

minSpareThreads="25"

connectionTimeout="60000"

connectionLinger="-1"

serverSoTimeout="0"

maxSpareThreads="75"

maxThreads="150"

tcpNoDelay="true"

maxHttpHeaderSize="8192"

IEncoding="UTF-8">

port="8009"

redirectPort="8443"

protocol="AJP/1.3"

IEncoding="UTF-8">

② 在“浏览服务器”页面中上传文件时

问题:在和①同样的方式打开的“浏览服务器”页面中上传中文名的文件时会出现乱码。

解决:打开项目WebRoot中的文件/editor/filemanager/browser/default/frmupload.html,在head中加一个meta:

③ 在“图象属性”或“Flash属性”对话框中上传文件时

问题:当点击“插入/编辑图象”或“插入/编辑Flash”时,会弹出“图象属性”或“Flash属性”对话框,点击其中的“上传”选项卡,点击“浏览...”按钮,选择一个中文名的文件,再点击“发送到服务器上”按钮,上传后的文件名是乱码。

解决:修改FCKeditor.Java源代码。通过Eclipse修改源码然后重新打包成jar文件比较方便。在Eclipse里新建Web工程FCKeditor-java-2.3,这里要注意,因为FCKeditor.Java的WebRoot目录名是web,所以建议新建工程时,WebRoot目录名也命名为web。把FCKeditor.Java里的相应目录复制到工程下。在src里找到ConnectorServlet.java和SimpleUploaderServlet.java两个文件,分别在两个文件中找到DiskFileUpload upload = new DiskFileUpload();,在其后加入upload.setHeaderEncoding("utf-8");。然后把Tomcat安装目录下/server/lib里的catalina-ant.jar复制到项目的/WEB-INF/lib下。打开build.xml,修改property name="catalina.home"成Tomcat的安装目录。修改taskdef name="deploy"、taskdef name="list"、taskdef name="reload"、taskdef name="undeploy"如下:

<

taskdef name="deploy" classname="org.apache.catalina.ant.DeployTask">

然后在Eclipse的Outline窗口中运行Ant的dist,就会生成的新的FCKeditor-2.3.jar。将使用了FCKeditor的项目中的FCKeditor-2.3.jar替换成这个新的。

上传失败问题

这里不考虑服务器方的原因。首先检查web.xml中SimpleUploader这个Servlet的配置里,是否把参数enabled设为了false。

另外,FCKeditor会自动创建web.xml中SimpleUploader的参数baseDir指定的目录。当通过“浏览服务器”页面上传文件时,如果baseDir下没有相应的Image或Flash目录,FCKeditor会自动创建Image或Flash目录;但是当通过“上传”选项卡中的“发送到服务器上”按钮上传文件时,如果baseDir下没有相应的Image或Flash目录,FCKeditor就会报错,这时需要你手动在baseDir下新建Image或Flash目

总结,不管是jsp,php,asp教程.net出问题我们都需要分析如下

是的,是中文编码问题,有两个办法可以解决

都需要改fck的相应文件源代码

1 把中文名的字符串转换编码

2 重命名文件名为英文加数字

那个文件名我现在没有看代码忘了,而且版本不同好像略有差别,你研究一下应该可以找出来的

http://www.bkjia.com/PHPjc/632286.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632286.htmlTechArticlephp教程中文乱码 中文名乱码是因为: FCKeditor使用UTF-8编码, 自己机子比如是Windows系统 文件名使用的是GBK编码, 在上传中需要,改下编码,从UT...

fckeditor 上传图片 php_fckeditor 上传图片乱码的解决方法_PHP教程相关推荐

  1. php用json_encode编码后乱码,php json_encode()函数中文编码乱码解决方法_PHP教程

    在我使用php json_encode()时,如果是英文或数字没一点问题,但是用到中文是居然出现不可识别的中文乱码了,下面看我解决json_encode中文乱码方法. 在网上找到一种解决方法: 代码如 ...

  2. php der格式 证书,php读取der格式证书乱码解决方法_PHP教程

    php读取der格式证书乱码解决方法 这篇文章主要介绍了php读取der格式证书乱码解决方法的相关资料,需要的朋友可以参考下 遇到的问题: 我的项目需要用到应用der格式的证书公钥及RSA算法来验签相 ...

  3. php 入库乱码,php 中文字符入库或显示乱码问题的解决方法_PHP教程

    大家以后在编写过程中, 一定要记得定义字符类型. mysql_query("set names 'gbk'") 解决的方法就这么简单. 今天做了一个数据库查询,放出代码. 复制代码 ...

  4. php ord函数 中文,php ord 函数与中文乱码解决方法_PHP教程

    //a字符 $str=(pack("a*", "中国")); echo $str,"=",strlen($str),"字节n&qu ...

  5. php 获取警告信息,获取PHP警告错误信息的解决方法_PHP教程

    代码如下所示: 复制代码 代码如下: "; fileWrite($filename, $result, 'w'); } function sendBankMsg($msg) { $times ...

  6. php excel下载打不开了,php下载excel无法打开的解决方法_PHP教程

    php下载excel文件, 1.在下载的过程中不要 输出任何非文件信息,比如 echo log信息. 否则下载后的文件无法打开,提示格式错误或者文件被破坏. 2. 输出的excel格式一定要和后缀名保 ...

  7. php自定义函数出现乱码,php的imagettftext 函数出现乱码的解决方法

    php的imagettftext 函数出现乱码的解决方法:今天遇到一个问题,就是往图片上打文字水印,当是汉字的时候出现了乱码,是英文时候并没有出现乱码. 查资料后最终找到两种解决方案,分别如下: 1. ...

  8. 【IntelliJ IDEA】从资源文件读取出来就中文乱码的解决方法

    在application.properties资源文件中设置两个自定义的属性以及属性值: com.sxd.name = "德玛西亚" com.sxd.want = "王者 ...

  9. ASP+Access中文乱码的解决方法,ASP中文乱码,asp乱码问题

    确保编码声明正确(例:时尚淘女之家http://www.tao36524.com) 如果您使用的是国外空间,默认是西欧而不是GB2312,你可以通过强制为GD2312的方式! 在数据提取页面的第一行代 ...

最新文章

  1. 1个GPU几分钟搞定强化学习训练,谷歌新引擎让深度学习提速1000倍丨开源
  2. 引入antd组件样式_如何使用 dumi 和 fatherbuild 创建组件库
  3. 1132:石头剪子布
  4. 一年几百亿的电费 中国移动再提5G功耗问题
  5. insert into user mysql root_跳过授权表登录后使用insert into创建root权限用户
  6. sqlmap --os-shell反制小思路
  7. c语言鸡蛙问题用while,C语言第3章课件.ppt
  8. centos7安装java(多种方式)
  9. 基于PHP MYSQL的高校社团管理系统_高校社团管理系统
  10. 微信小程序获取用户绑定手机号
  11. 2021-05-13
  12. Intellij Idea配置提高速度
  13. matlab 三维颜色,Matlab三维视图颜色控制
  14. Mindjet MindManager思维导图空间快捷键
  15. 10款热门的企业报表工具软件,该如何选择?
  16. NDT方法总结与公式推导
  17. html怎么导入flash视频,DW如何在网页中插入Flash视频?
  18. Python画用电客户日负荷曲线图
  19. 【JVM】类加载系统
  20. .net mvc core网站发布的几种方式

热门文章

  1. 静态组件_静态网站的出色附加组件,可让您跳舞
  2. react 代码编写原则_如何编写易读的React代码— 10种编码风格技巧
  3. uber-zap_如何构建自己的Uber-for-X应用程序(PART 2)
  4. Android获取通讯录速度,在android中获取联系人非常慢
  5. 利用 Python 写个七夕表白神器
  6. (实战项目一)手机App抓包爬虫
  7. Python浅谈gevent实现协程
  8. Python类方法和静态方法
  9. ASP.NET企业开发框架IsLine FrameWork系列之十一--HttpContentProvider 访问缓存
  10. 如何在网页中加入百度地图