我遇到了我的web应用程序的字符编码问题,并想知道如何在Linux生产服务器上更改tomcat的默认编码以匹配Windows上的开发服务器的cp 1252编码(或者至less是实验用不同的编码,直到我能find正确的一个)。 谢谢
我正在尝试使用mod_rewrite创build一个restful API。 我有规则: RewriteRule v2/(.*)$ v1/index.php?request=$1 [QSA,NC,L] 然而,path可能包含base64编码的string(即可以有+或/),它们在PHP到达之前被解码。 例如,如果我去 /v2/cards/9VwQLli%2Bf0ogFl19AVRFLuztbp8cP0rYCgXBu3H9%2BDc%3DBe PHP获取$_REQUEST['request'] as cards/9VwQLli f0ogFl19AVRFLuztbp8cP0rYCgXBu3H9 Dc=Be' 。 而更糟的是,如果我在那里添加一个斜线(例如9VwQLli%2Bf0ogFl19AVRFLuztbp8c%2FP0rYCgXBu3H9%2BDc%3DBe – %2F是斜杠),我得到一个404。 我怎样才能防止这种情况发生? 注意:我尝试了B和NE标志,但没有任何效果。 我想作为一个黑客,我可以只将所有+字符转换为_和所有/转换,或者甚至可能是双重url编码,但我想知道是否有更好的方法。
我正在使用svn的软件开发团队工作。 由于许多开发人员的计算机正在使用Windows,所以文本文件编码必须得到所有人的同意。 我决定使用Linux,也许我将不得不改变我的机器的默认字符编码。 这怎么能在Linux上完成? 谢谢
我最近将一个PHP(Cake框架)开发站点从IIS 6(x86)服务器移动到IIS 7服务器(x64)。 内容都是一样的,URL重写的作品,但试图显示第一页,我得到这个错误: Error 330 (net::ERR_CONTENT_DECODING_FAILED): Unknown error. Firefox将此标识为 Content Encoding Error The page you are trying to view cannot be shown because it uses an invalid or unsupported form of compression. PHP页面正在使用Gzip (ob_start("ob_gzhandler"))但是注释掉这行并没有做任何事情。 IIS的安装几乎是一个干净的安装,我从来没有设置任何压缩选项,是否有任何设置在IIS或代码错误,会导致此? 相同的确切代码在IIS 6服务器上工作。 我听说这是由PHP尾随空白引起的,但如果是这样的话,IIS 6服务器不应该有同样的问题? 我试过的浏览器是Firefox 5,最新的Chrome和IE8,但它不是浏览器端的问题。
我有几个实际运行在Windows 2003 Server上的PHP应用程序。 因为他们实际上在Windows上使用PHP,Mysql甚至是Apache,所以这个项目将把他们转移到一个新的Linux服务器上(基于Debian)。 但是当用'特殊字符'(非ASCII文件,如éèàç)用于文件名(这是法文中的常规)时,我遇到了用户上传文件的问题。 例如文件“accuséréception.pdf”存储如下: $ ls accus? r?ception.pdf 当我在Linux服务器上传一个新文件的时候,似乎没有问题:文件将被命名为类似于fs的文件,但应用程序可以find它。 问题是内容已迁移,文件可用,但应用程序无法find它! 我想知道问题来自哪里: 文件系统的字符表/编码表,我认为它来自这里 应用程序本身的PHP代码,这将是一个问题,因为我不能改变它。 我可以提交错误请求,但是我不确定什么时候会修复。 另一个问题 而最重要的是我需要find一种方法来解决这个问题。 因为它只发生在迁移的数据上,所以在Linux服务器上生产这些应用程序时,我可以编写一个脚本或调整我的fs / php / whatever来解决这个问题。 在此先感谢您的帮助。 注意:当应用程序找不到文件时,我的Apache日志被填充'readdir()期望参数1是资源,布尔在…错误中给出
我有一个使用ISO8859-1编码在旧的Unixware机器上创build的tar归档文件。 当我尝试在Macosx Lion下提取它时,我经历了一些与德国变音的怪异之处。 例如: 我打开一个terminal.app窗口,编码设置为“ISO8859-1”,并设置我的语言环境,如下所示: export LANG=de_DE.ISO8859-1 export LC_ALL=de_DE.ISO8859-1 然后偷看存档: dhcp202:Downloads frank$ tar tvf backup.tar home/frank x home/frank/ x home/frank/Präferenzen/ 注意“ä”显示正确 然后我解压档案 tar xvf backup.tar home / frank “ä”也显示在tar的输出中,但是当我列出目录内容时,我看到: dhcp202:Downloads frank$ ls home/frank Pr%E4ferenzen 那是怎么回事?
可能重复: 这些奇怪的访问请求是什么? 我在access.log收到了很多这样的请求: 203.186.107.226 – – [16/Oct/2012:07:07:39 +0000] "\xfc\x8f\xd29g\xc7O\x9bM\vE\x9ek\xb5'\xd2;\xce\xcf\x81\x85\xaf\xc5}y\xb0\xa1A\xf2,\xccj-%s\xc4\xf1\xe2\xb0t\xcfo" 400 303 "-" "-" 203.186.107.226 – – [16/Oct/2012:07:08:11 +0000] "\xfbC\x16\xcc\xbb" 501 293 "-" "-" 203.186.107.226 – – [16/Oct/2012:07:08:43 +0000] "\xf6\xf5n\x7fa" 501 293 "-" "-" 203.186.107.226 – – [16/Oct/2012:07:09:05 +0000] "\xbb\xc7x\xfac\x88\x80" 501 295 "-" "-" 203.186.107.226 – – [16/Oct/2012:07:09:15 +0000] "\x82\x7f\x99\x9atx\xe6\xa8\xf5o3" 501 299 "-" "-" 203.186.107.226 – […]
SM版本1.4.22 Centos 6.7 PHP 5.3.3 Apache 2.2.15插件: filter delete_move_next MESSAGE_DETAILS NEWMAIL 翻译 squirrelspell set_user_data 最后的版本Postfix 2.6.6,从Webmin CP安装的Dovecot 2.0.9从Firefox(Ubuntu,XP),Thundirbird(Ubuntu客户端),Safari Mac 这是一个特殊的字符,如重音元音(select西class牙语选项)的问题。 创build电子邮件没有问题 收件人正确接收(在Squirrelmail和Thundirbird中也是如此)。 当收件人回答发件人保留带有重音元音的原始文本或发送新邮件时,问题就出现了。 发件人收到正确的答复(或新的)消息,但是当他再次回复收件人那些重音元音不正确解释。 下面的一些截图。 发件人的收件箱获取带有重音元音的新电子邮件: 阅读收到的电子邮件 回复电子邮件: 我已经联系了SM-i18n小组,但是我没有得到答案
我有一个Windows IIS服务器与PHP工作。 用户通过HTML表单插入一个单词,然后转到PHP,然后PHP调用一个COM dll(vb6)函数,将该单词作为utf8string传递给该函数。 一切都很好,直到input包含大写希腊字母与dialytika,如http://unicode-table.com/en/03AA/ 当发生这种情况时,PHP警告告诉我: [07-Jul-2016 14:15:50 Europe/Athens] PHP Warning: Unknown: Could not convert string to unicode: No mapping for the Unicode character exists in the target multi-byte code page. 和一个不同的混乱的string通过。 例如,单词μαϊου将工作正常,但μαΪου这个词会产生警告。 这里是.dll函数在这两种情况下看到的内容: 我试着玩了一些PHP设置,但没有改变。 php.ini的当前设置(我从默认更改为以下 – 但仍然没有): default_charset = "utf-8" com.code_page="utf-8" mbstring.internal_encoding = UTF-8 我不知道我必须做些什么来解决这个问题。 提前感谢您的任何见解。
我有一个python脚本,从MySQL的utf-8表导出数据到一个文本文件。 这是做这项工作的代码 csvDatei = codecs.open( csvDateiName, "w", "utf-8" ) … cursor = db.cursor(); sql = "select * from %s.%s;" % (dbAusgang, tabelle) cursor.execute(sql); … daten = cursor.fetchall(); for i in xrange(len(daten)): line = ''; for j in xrange(len(daten[i])): line += '"%s";' % unicode(daten[i][j]); line = line[:-1]; line += '\n'; csvDatei.write(line); csvDatei.close(); 我也试过这个 line += '"%s";' […]