One approach for learning about covariance (or correlation) among several variables of mixed type and with possibly non-normal distributions is to treat the data as functions of some underlying multivariate Gaussian random variable.
If your categorical variables are dichotomous, you can encode it as a binary indicator variable. If your categorical variables are not ordinal and have, say, N-levels, you will need to expand your categorical data into a set of N dummy variables in a procedure sometimes known as one-hot encoding.
Suppose you began with a two-dimensional data set, the first variable was continuous and numeric while the second variable was a 3-level nominal categorical variable. After expanding the categorical variable into 3 binary indicator vectors, your data will be 4-dimensional, and you can treat the data as a function of some underlying 4-dimensional Gaussian random variable. The covariance structure of the underlying Gaussian distribution will characterize the relationship among all the variables in your data.
The R package "MCMCpack" includes functions for fitting Gaussian copula models.
Hoff (2007) "Extending the rank likelihood for semiparametric copula estimation" https://projecteuclid.org/euclid.aoas/1183143739 may be useful to you. It describes a semiparametric Gaussian Copula model that accommodates mixed continuous and discrete ordinal data. Also, perhaps Muthen (83) "Latent variable structural equation modeling with categorical data" https://www.sciencedirect.com/science/article/pii/0304407683900933 or Quinn (04) "Bayesian Factor Analysis for Mixed Ordinal and
Continuous Responses" https://www.law.berkeley.edu/files/pa04.pdf may provide insights for this problem.