Есть ли какие-либо различия между кодами символов клавиатуры между ПК и Mac? - PullRequest
0 голосов
/ 09 мая 2019

Итак, я работаю над сайтом на PHP / JS, а также над базой данных.У меня есть сотрудник, который отправляет мне документы, написанные на устройствах Apple, и я на ПК.Поскольку у меня нет доступа к Mac, я хотел бы знать, идентичны ли пробелы и знаки препинания на разных клавиатурах.

Я хочу иметь возможность копировать содержимое документов и вставлять их вбазы данных, однако я не хочу предполагать, что символ тире на ПК совпадает с символом тире Mac (это может быть реальный знак минуса) ... или что пространство на ПК оказывается узким / en-пространством Mac.

Я мог бы просто проверить полученный документ, но она работает везде и никогда не знает, где что написала.

Это вопрос программирования, потому что я вставляю математические выражения, где такие символыизменить ситуацию ... а также использовать PHP и JavaScript для интерпретации этих символов.

1 Ответ

1 голос
/ 09 мая 2019

Основной проблемой является кодировка символов в документе. Скорее всего, это кодировка Unicode (например, UTF-8), которая полностью кроссплатформенная.

Кто-то, использующий раскладку клавиатуры США (и, вероятно, большинство других), намереваясь напечатать что-то вроде тире / дефис / минус, скорее всего, выдаст HYPHEN-MINUS U + 002D. Конечно, есть способы набирать EN DASH U + 2013, EM DASH U + 2014, SMALL EM DASH U + FE58, HYPHEN U + 2010 и другие, но пользователю придется делать это намеренно. Это не будет сделано обычно только потому, что они используют Mac.

Кроме того, некоторые редакторы или текстовые процессоры могут выполнять «умные замены», заменяя символы ASCII более причудливыми (более типографски правильными) не-ASCII. Это было бы независимо от Mac против ПК. Если это так, персонаж все равно попадет на ПК как таковой, но если использование вами данных документа чувствительно к таким различиям (как, очевидно, имеет место), то это будет проблематично.

Маловероятно, что Space будет чем-то отличным от обычного SPACE U + 0020. Есть, конечно, способы ввода вариантов, такие как NO-BREAK SPACE U + 00A0, EN SPACE U + 2002, EM SPACE U + 2003 и т. Д., Но пользователь должен был бы изо всех сил печатать их. И я сомневаюсь, что умные замены заменили бы нормальные пробелы.

...