草庐IT

php - 口音、网址和 Firefox

coder 2024-04-29 原文

我遇到了一些问题,我想知道是否有人可以帮助我。

我将我的网站和数据库设置为 utf8。当我在查询字符串部分输入重音符时出现问题 ã 变成 %E3,但如果我在页面中使用链接或表单,它会给出 % C3%A3 在 url 中。

我能做什么?

编辑:让我试着澄清一下:

我试图在我的 URL(查询字符串)中使用重音字符,但我很难让它在多个浏览器中工作。某些浏览器(如 Firefox 和 IE)会根据我是在页面中使用表单还是在地址栏中输入重音字符来输出不同的百分比编码字符串。就像我在原来的问题中所说的那样,在表单中输入的 ã 会在 url 中变成 %C3%A3 但如果我在 ã地址栏,浏览器将其更改为 url 中的 %E3

这让事情变得复杂,因为如果我得到 %E3,那么在 php/html 中我会得到一个未知字符(即菱形问号,对吗?)

希望这有帮助 - 否则请告诉我。

最佳答案

ã inputed in a form turns to %C3%A3 in the url

取决于表单编码,通常取自包含表单的页面的编码。 %C3%A9ã 的正确 UTF-8 URL 编码形式。

if I type ã in the address bar, the browser changes that to %E3 in the url.

这取决于浏览器。当您将非 ASCII 字符放入地址栏中的 URL 时:

http://www.example.com/test.p/café?café

WebKit 浏览器将它们全部编码为 UTF-8:

http://www.example.com/test.p/caf%C3%A9?caf%C3%A9

这是 IMO 最正确的,根据 IRI .但是,由于历史原因,IE 和 Opera 仅使用操作系统的默认系统编码对输入到查询字符串中的文本进行编码。因此,在西欧 Windows 安装(使用代码页 1252)上,您将获得:

http://www.example.com/test.p/caf%C3%A9?caf%E9

对于系统编码中不可用的字符,IE 和 Opera 会用 ? 替换它们。当查询字符串中的所有字符都使用 Firefox 时,Firefox 将使用系统编码,否则使用 UTF-8。

可怕且不一致,但用户手动输入查询字符串的情况非常少见。

关于php - 口音、网址和 Firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435272/

有关php - 口音、网址和 Firefox的更多相关文章

  1. ruby - 无法在 60 秒内获得稳定的 Firefox 连接 (127.0.0.1 :7055) - 2

    我使用的是Firefox版本36.0.1和Selenium-Webdrivergem版本2.45.0。我能够创建Firefox实例,但无法使用脚本继续进行进一步的操作无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055)错误。有人能帮帮我吗? 最佳答案 我遇到了同样的问题。降级到firefoxv33后一切正常。您可以找到旧版本here 关于ruby-无法在60秒内获得稳定的Firefox连接(127.0.0.1:7055),我们在StackOverflow上找到一个类

  2. ruby - Watir 更改 Mozilla Firefox 首选项 - 2

    我正在使用Watir运行一个Ruby脚本来为我自动化一些事情。我试图自动将一些文件保存到某个目录。因此,在我的Mozilla设置中,我将默认下载目录设置为桌面并选择自动保存文件。但是,当我开始运行我的脚本时,这些更改并没有反射(reflect)出来。似乎首选项恢复为默认值。我已经包括以下内容require"rubygems"#Optional.require"watir-webdriver"#Forwebautomation.require"win32ole"#Forfilesavedialog.并打开一个新的firefox实例:browser=Watir::Browser.new(:

  3. ruby-on-rails - 这个 C 和 PHP 程序员如何学习 Ruby 和 Rails? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我来自C、php和bash背景,很容易学习,因为它们都有相同的C结构,我可以将其与我已经知道的联系起来。然后2年前我学了Python并且学得很好,Python对我来说比Ruby更容易学。然后从去年开始,我一直在尝试学习Ruby,然后是Rails,我承认,直到现在我还是学不会,讽刺的是那些打着简单易学的烙印,但是对于我这样一个老练的程序员来说,我只是无法将它

  4. ruby - 以非 root 用户身份从 ruby​​ 在 Xvfb 中运行 Selenium::WebDriver::Firefox - 2

    我正在尝试使用ruby​​脚本进行一些headless测试。本质上,我在显示器:1上执行Xvfb,然后使用watir-webdriver启动Watir::Browser.new(:firefox)。如果您以root身份运行脚本,效果会很好-我可以运行x11vnc并观察脚本执行浏览器并与之交互。问题是,我需要能够从Rails应用程序调用这个ruby​​脚本,而不是以root身份运行它...如果我尝试以普通用户身份从命令行运行脚本,Xvfb会启动on:1像往常一样,但Watir不会启动浏览器......它最终会在60秒后超时。通过VNC连接会显示带有鼠标光标的黑屏。我可以从命令行完成所有操

  5. ruby-on-rails - Rails 还是 Sinatra? PHP程序员入门学习哪个好? - 2

    按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭10年前。我使用PHP的时间太长了,对它感到厌倦了。我也想学习一门新语言。我一直在使用Ruby并且喜欢它。我必须在Rails和Sinatra之间做出选择,那么您会推荐哪一个?Sinatra真的不能用来构建复杂的应用程序,它只能用于简单的应用程序吗?

  6. ruby-on-rails - PHP 魔术方法 __call、__get 和 __set 的 Ruby 等价物 - 2

    我很确定Ruby有这些(等同于__call、__get和__set),否则find_by将如何在Rails中工作?也许有人可以举一个简单的例子来说明如何定义与find_by相同的方法?谢谢 最佳答案 简而言之你可以映射__调用带有参数的method_missing调用__设置为方法名称以'='结尾的method_missing调用__获取不带任何参数的method_missing调用__调用PHPclassMethodTest{publicfunction__call($name,$arguments){echo"Callingob

  7. ruby - Lisp - 是否适合网络编程/应用程序(交互式)? ruby 的方式是? php的方式是? - 2

    Lisp是否适合Web编程/应用程序(交互式),就像ruby​​和php一样?需要考虑的事情是:易于使用可部署性难度(尤其是对于编程初学者而言)(编辑)在阅读PaulGraham'sessay之后,我特别提到了CommonLisp.将是我的第一门编程语言。在这方面。这样做合适吗?我听说Clojure的宏功能不如CommonLisp的强大,这就是我尝试学习Clojure的原因。它教授编程并且非常强大。 最佳答案 Lisp是一个语系,而不是单一的语言。为了稍微回答您的问题,是的,存在用于各种Lisp方言的Web框架,例如用于Common

  8. ruby - 如何从短网址获取长网址? - 2

    如何使用Ruby将短URL(tinyURL、bitly等)转换为相应的长URL? 最佳答案 我不使用Ruby,但总体思路是向服务器发送HTTPHEAD请求,服务器将返回301响应(永久移动),其中包含URI的Locationheader.HEAD/5b2su2HTTP/1.1Host:tinyurl.comAccept:*/*回复:HTTP/1.1301MovedPermanentlyLocation:http://stackoverflow.comContent-type:text/htmlDate:Sat,23May200918

  9. 软件工程毕业设计课题(81)微信小程序毕业设计PHP校园跑腿小程序系统设计与实现 - 2

        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对应订单。意义:手机网络时代,大学生通过手机网购日常用品、外卖外卖、代取快递等已不再是稀奇的事情。此外,不少高校还流行着校园有偿工作,校园跑腿就成了大学生创业服务项目。        因为你在校园里,所以不会有进入的限制。并不是所有的外卖平台都可以随意进入校园,比如小黄和小蓝的双打外卖平台。许多大学禁止送餐进入学校,更不用说送餐进入宿舍了。这一措施使得校园服务市场的竞争相对不

  10. K8s部署PHP项目 - 2

    前言    前端时间PHP项目部署升级需要,需要把Laravel开发的项目部署K8s上,下面以laravel项目为例,讲解采用yaml文件方式部署项目。一、部署步骤1.创建Dockerfile文件Dockerfile是一个用来构建镜像的文本文件,在容器运行时,需要把项目文件和项目运行所必须的组件安装其中。#基础镜像FROMphp:7.4-fpm#时区ARGTZ=Asia/Shanghai#更换容器时区RUNcp"/usr/share/zoneinfo/$TZ"/etc/localtime&&echo"$TZ">/etc/timezone#替换成阿里apt-get源RUNsed-i"s@http

随机推荐