虽然我在当地工作一切都很完美,现在我上传到托管,字体被我从未听说过的东西(CORS)阻止.字体(和css,js等)位于子域中,因为URL由索引解析(因此路径在域中不起作用).css/js工作正常.
这是Web控制台(firefox)中的输出:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/Oxygen-Regular.ttf. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Oxygen-Regular" style:normal weight:normal stretch:normal src index:0): bad URI or cross-site access not allowed source: /fonts/Oxygen-Regular.ttf styles.css:10:12
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at /fonts/Montserrat-Regular.ttf. (Reason: CORS header 'Access-Control-Allow-Origin' missing). <unknown>
downloadable font: download failed (font-family: "Montserrat-Regular" style:normal weight:normal stretch:normal src index:0): bad URI or cross-site access not …Run Code Online (Sandbox Code Playgroud) 发现问题
问题似乎$mysqli->set_charset()是不接受 `utf8mb4' 作为有效编码(正如我在第一次更新中“推测”的那样)。MySQL 版本是 5.5.41,PHP 版本是 5.4.41(没问题)。
抱歉标题,我一直在搜索/阅读问题是什么/在哪里,我已经对此感到困惑......
我最近开始在 mysql 中使用 utf8mb4。我使用 utf8mb4 作为字符集,使用 utf8mb4_unicode_ci 作为所有表/列的排序规则。
所以我首先改变了:
$mysqli->set_charset('utf8');
Run Code Online (Sandbox Code Playgroud)
到
$mysqli->set_charset('utf8mb4');
Run Code Online (Sandbox Code Playgroud)
确保我的 php 文件是 utf8(我使用的是 Visual Studio Code,因此默认情况下这些文件是以 UTF-8 创建的),并且 php/html 标头设置为 utf8:
索引.php
header('Content-type: Text/HTML; Charset=UTF-8');
Run Code Online (Sandbox Code Playgroud)
main.php(包含在 index.php 的末尾)
<meta http-equiv="Content-Type" content="Text/HTML" />
<meta charset="UTF-8" />
Run Code Online (Sandbox Code Playgroud)
问题是对于某些表,我必须手动插入数据,并且这些数据按原样存储:带有特殊字符、重音符号、ñ 等......当我在我的网站上显示这些数据时,我可以看到这些字符?替换了特殊/重音字符。
所以我的问题是:有什么方法可以在 mysql 中按原样存储数据(不替换/转换特殊/重音字符)并能够正常显示(按原样)?
如果我恢复到$mysqli->set_charset('utf8');数据显示正常......所以这让我想知道存储utf-8字符应该没有问题,并且某处存在一些编码问题......
我正在使用 sqlyog 社区(带酒),我在某处读到,当您更改某些 db/table 配置时,gui 有时无法正常工作,唯一的方法是旧方法(自己运行查询),但我没有试过这个了。我运行查询来设置所有表/列的字符集和排序规则。
你怎么认为?
更新
我开始认为 mysqli 不接受 utf8mb4 作为有效的字符编码,而是使用来自 php 而不是来自 mysql 的 utf8 ......我还认为 …
我正在尝试使用css复制图形设计,但我没有响应,我可以实现静态形式但有微小缺陷(由于将两个元素组合在一起).
这是图形设计:
我更倾向于倾斜,如:skew(-40deg).但这个想法是有一个内部的圆形边框,就像在图像中一样包裹着这个按键.
html很简单:
<header>
<nav></nav>
</header>
Run Code Online (Sandbox Code Playgroud)
css:
body > header > nav {
display: flex;
align-items: flex-end;
justify-content: center;
width: 100vw;
height: 90px;
padding: 10px 0;
text-align: center;
z-index: 1
}
body > header > nav::before {
content: '';
position: absolute;
top: 0; left: 0;
width: 80vw; height: 100%;
background-color: rgb(147, 147, 147);
border-bottom-right-radius: 15px;
transform: skew(-40deg);
transform-origin: 100% 0%;
}
body > header > nav::after {
content: '';
position: absolute;
top: 0; right: 0;
width: 28.7%; …Run Code Online (Sandbox Code Playgroud) dropzone.js 文档/wiki 没有说明如何发送表单字段。
我刚刚阅读了FormData 对象,它说明了如何使用表单字段填充对象。问题是用整个表单填充对象不会发送数据,但是如果我将表单字段一一附加,它们将被发送......
这有效:
formData.append('name', jQuery('#name').val());
Run Code Online (Sandbox Code Playgroud)
这不会:
var myForm = document.querySelector('form');
formData = new FormData(myForm);
Run Code Online (Sandbox Code Playgroud)
第一个示例将发送该#name字段,但第二个示例不会发送任何内容(仅发送文件)。
我怎样才能触发它?我想让 dropzone 沿着文件发送整个表单(都在同一个请求中)。
init: function() {
var myDropzone = this,
submitButton = document.querySelector("[type=submit]");
submitButton.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation();
myDropzone.processQueue();
});
myDropzone.on('sendingmultiple', function(data, xhr, formData) {
// this will get sent
formData.append('name', jQuery('#name').val());
// this won't
var myForm = document.querySelector('form');
formData = new FormData(myForm);
});
myDropzone.on('successmultiple', function(files, response) {
//window.location.replace("/home");
});
myDropzone.on('errormultiple', function(files, response) {
alert(response);
});
}
Run Code Online (Sandbox Code Playgroud) 我有一个on click函数绑定到三个元素,第一个只触发它检查两个单选按钮并声明一个带有checked值的变量,第二个是复选框并声明变量值为那些,第三个元素是分页链接到声明并分配页面以将其发送到php.
我尝试添加,$(this).prop('checked', true);但单击时不检查复选框(我不知道是什么阻止它们):
$('body').on('click', '.click, :checkbox, .pag_link', function()
{
// search, filters and change page buttons
if ($('#res_prop').is(':checked')) {
var use = $('#res_prop').val(); // 1
}
else if ($('#com_prop').is(':checked')) {
var use = $('#com_prop').val(); // 0
}
else {
$('p.error').show();
die();
}
if ($(this).is(':checkbox')) {
// not needed or it won't uncheck -> $(this).prop('checked', true);
if ($(this).attr('class') == 'filter1' || $('.filter1').is(':checked')) {
var type = $(this).val(); // maybe should be an array
} else var type = …Run Code Online (Sandbox Code Playgroud) javascript ×2
cors ×1
css ×1
css-shapes ×1
css3 ×1
dropzone.js ×1
encoding ×1
jquery ×1
mysql ×1
php ×1
utf-8 ×1
utf8mb4 ×1