diff --git a/docs/source/bibliography.rst b/docs/source/bibliography.rst
index 5352c65..4fbb02b 100644
--- a/docs/source/bibliography.rst
+++ b/docs/source/bibliography.rst
@@ -17,12 +17,12 @@
 
 .. [ByrdNocedal] R. H. Byrd, J. Nocedal, R. B. Schanbel,
    **Representations of Quasi-Newton Matrices and their use in Limited
-   Memory Methods**, *Mathematical Programming* 63(4):129–-156, 1994.
+   Memory Methods**, *Mathematical Programming* 63(4):129-156, 1994.
 
 .. [ByrdSchnabel] R.H. Byrd, R.B. Schnabel, and G.A. Shultz, **Approximate
    solution of the trust region problem by minimization over
    two dimensional subspaces**, *Mathematical programming*,
-   40(1):247–263, 1988.
+   40(1):247-263, 1988.
 
 .. [Chen] Y. Chen, T. A. Davis, W. W. Hager, and
    S. Rajamanickam, **Algorithm 887: CHOLMOD, Supernodal Sparse
@@ -34,7 +34,7 @@
 .. [GolubPereyra] G.H. Golub and V. Pereyra, **The differentiation of
    pseudo-inverses and nonlinear least squares problems whose
    variables separate**, *SIAM Journal on numerical analysis*,
-   10(2):413–432, 1973.
+   10(2):413-432, 1973.
 
 .. [HartleyZisserman] R.I. Hartley & A. Zisserman, **Multiview
    Geometry in Computer Vision**, Cambridge University Press, 2004.
@@ -53,27 +53,27 @@
    IEEE Conference on Computer Vision and Pattern Recognition*, 2012.
 
 .. [Kanzow] C. Kanzow, N. Yamashita and M. Fukushima,
-   **Levenberg–Marquardt methods with strong local convergence
+   **Levenberg-Marquardt methods with strong local convergence
    properties for solving nonlinear equations with convex
    constraints**, *Journal of Computational and Applied Mathematics*,
-   177(2):375–397, 2005.
+   177(2):375-397, 2005.
 
 .. [Levenberg] K. Levenberg, **A method for the solution of certain
    nonlinear problems in least squares**, *Quart. Appl.  Math*,
-   2(2):164–168, 1944.
+   2(2):164-168, 1944.
 
 .. [LiSaad] Na Li and Y. Saad, **MIQR: A multilevel incomplete qr
    preconditioner for large sparse least squares problems**, *SIAM
-   Journal on Matrix Analysis and Applications*, 28(2):524–550, 2007.
+   Journal on Matrix Analysis and Applications*, 28(2):524-550, 2007.
 
 .. [Madsen] K. Madsen, H.B. Nielsen, and O. Tingleff, **Methods for
    nonlinear least squares problems**, 2004.
 
 .. [Mandel] J. Mandel, **On block diagonal and Schur complement
-   preconditioning**, *Numer. Math.*, 58(1):79–93, 1990.
+   preconditioning**, *Numer. Math.*, 58(1):79-93, 1990.
 
 .. [Marquardt] D.W. Marquardt, **An algorithm for least squares
-   estimation of nonlinear parameters**, *J. SIAM*, 11(2):431–441,
+   estimation of nonlinear parameters**, *J. SIAM*, 11(2):431-441,
    1963.
 
 .. [Mathew] T.P.A. Mathew, **Domain decomposition methods for the
@@ -82,7 +82,7 @@
 
 .. [NashSofer] S.G. Nash and A. Sofer, **Assessing a search direction
    within a truncated newton method**, *Operations Research Letters*,
-   9(4):219–221, 1990.
+   9(4):219-221, 1990.
 
 .. [Nocedal] J. Nocedal, **Updating Quasi-Newton Matrices with Limited
    Storage**, *Mathematics of Computation*, 35(151): 773--782, 1980.
@@ -102,7 +102,7 @@
    F'(x) F"(x)**, Advances in Engineering Software 4(2), 75-76, 1978.
 
 .. [RuheWedin] A. Ruhe and P.Å. Wedin, **Algorithms for separable
-   nonlinear least squares problems**, Siam Review, 22(3):318–337,
+   nonlinear least squares problems**, Siam Review, 22(3):318-337,
    1980.
 
 .. [Saad] Y. Saad, **Iterative methods for sparse linear
@@ -124,9 +124,9 @@
 
 .. [Wiberg] T. Wiberg, **Computation of principal components when data
    are missing**, In Proc. *Second Symp. Computational Statistics*,
-   pages 229–236, 1976.
+   pages 229-236, 1976.
 
 .. [WrightHolt] S. J. Wright and J. N. Holt, **An Inexact
    Levenberg Marquardt Method for Large Sparse Nonlinear Least
    Squares**, *Journal of the Australian Mathematical Society Series
-   B*, 26(4):387–403, 1985.
+   B*, 26(4):387-403, 1985.
diff --git a/docs/source/nnls_tutorial.rst b/docs/source/nnls_tutorial.rst
index 3c39086..fb7059c 100644
--- a/docs/source/nnls_tutorial.rst
+++ b/docs/source/nnls_tutorial.rst
@@ -941,11 +941,11 @@
 
    .. [#f9] Giorgio Grisetti, Rainer Kummerle, Cyrill Stachniss, Wolfram
       Burgard. A Tutorial on Graph-Based SLAM. IEEE Intelligent Transportation
-      Systems Magazine, 52(3):199–222, 2010.
+      Systems Magazine, 52(3):199-222, 2010.
 
    .. [#f10] E. Olson, J. Leonard, and S. Teller, “Fast iterative optimization of
       pose graphs with poor initial estimates,” in Robotics and Automation
-      (ICRA), IEEE International Conference on, 2006, pp. 2262–2269.
+      (ICRA), IEEE International Conference on, 2006, pp. 2262-2269.
 
 #. `slam/pose_graph_3d/pose_graph_3d.cc
    <https://ceres-solver.googlesource.com/ceres-solver/+/master/examples/slam/pose_graph_3d/pose_graph_3d.cc>`_
diff --git a/examples/sampled_function/README.md b/examples/sampled_function/README.md
index 77ce365..ef1af43 100644
--- a/examples/sampled_function/README.md
+++ b/examples/sampled_function/README.md
@@ -15,7 +15,7 @@
 interpolation method requires knowledge of the function derivatives at the
 control points, however we only know the function values. Consequently, we will
 use the data to estimate derivatives at the control points. The choice of how to
-compute the derivatives is not unique and Ceres uses the Catmull–Rom Spline
+compute the derivatives is not unique and Ceres uses the Catmull-Rom Spline
 variant which uses `0.5 * (p_{k+1} - p_{k-1})` as the derivative for control
 point `p_k.` This produces a first order differentiable interpolating
 function. The two dimensional interpolation scheme is a generalization of the
diff --git a/include/ceres/cubic_interpolation.h b/include/ceres/cubic_interpolation.h
index 4ff868a..080d35a 100644
--- a/include/ceres/cubic_interpolation.h
+++ b/include/ceres/cubic_interpolation.h
@@ -52,7 +52,7 @@
 //
 // "Cubic convolution interpolation for digital image processing".
 // IEEE Transactions on Acoustics, Speech, and Signal Processing
-// 29 (6): 1153–1160.
+// 29 (6): 1153-1160.
 //
 // For more details see
 //
@@ -237,7 +237,7 @@
 //
 // "Cubic convolution interpolation for digital image processing".
 // Robert G. Keys, IEEE Trans. on Acoustics, Speech, and Signal
-// Processing 29 (6): 1153–1160, 1981.
+// Processing 29 (6): 1153-1160, 1981.
 //
 // http://en.wikipedia.org/wiki/Cubic_Hermite_spline
 // http://en.wikipedia.org/wiki/Bicubic_interpolation
diff --git a/include/ceres/gradient_problem_solver.h b/include/ceres/gradient_problem_solver.h
index 1831d8d..9d26a2e 100644
--- a/include/ceres/gradient_problem_solver.h
+++ b/include/ceres/gradient_problem_solver.h
@@ -87,7 +87,7 @@
     // method, please see:
     //
     // Nocedal, J. (1980). "Updating Quasi-Newton Matrices with
-    // Limited Storage". Mathematics of Computation 35 (151): 773–782.
+    // Limited Storage". Mathematics of Computation 35 (151): 773-782.
     int max_lbfgs_rank = 20;
 
     // As part of the (L)BFGS update step (BFGS) / right-multiply step (L-BFGS),
diff --git a/include/ceres/solver.h b/include/ceres/solver.h
index 83077e2..6d9cee9 100644
--- a/include/ceres/solver.h
+++ b/include/ceres/solver.h
@@ -118,7 +118,7 @@
     // method, please see:
     //
     // Nocedal, J. (1980). "Updating Quasi-Newton Matrices with
-    // Limited Storage". Mathematics of Computation 35 (151): 773–782.
+    // Limited Storage". Mathematics of Computation 35 (151): 773-782.
     int max_lbfgs_rank = 20;
 
     // As part of the (L)BFGS update step (BFGS) / right-multiply step (L-BFGS),
diff --git a/include/ceres/types.h b/include/ceres/types.h
index 8e5da6a..d01e921 100644
--- a/include/ceres/types.h
+++ b/include/ceres/types.h
@@ -221,26 +221,26 @@
   // For more details on BFGS see:
   //
   // Broyden, C.G., "The Convergence of a Class of Double-rank Minimization
-  // Algorithms,"; J. Inst. Maths. Applics., Vol. 6, pp 76–90, 1970.
+  // Algorithms,"; J. Inst. Maths. Applics., Vol. 6, pp 76-90, 1970.
   //
   // Fletcher, R., "A New Approach to Variable Metric Algorithms,"
-  // Computer Journal, Vol. 13, pp 317–322, 1970.
+  // Computer Journal, Vol. 13, pp 317-322, 1970.
   //
   // Goldfarb, D., "A Family of Variable Metric Updates Derived by Variational
-  // Means," Mathematics of Computing, Vol. 24, pp 23–26, 1970.
+  // Means," Mathematics of Computing, Vol. 24, pp 23-26, 1970.
   //
   // Shanno, D.F., "Conditioning of Quasi-Newton Methods for Function
-  // Minimization," Mathematics of Computing, Vol. 24, pp 647–656, 1970.
+  // Minimization," Mathematics of Computing, Vol. 24, pp 647-656, 1970.
   //
   // For more details on L-BFGS see:
   //
   // Nocedal, J. (1980). "Updating Quasi-Newton Matrices with Limited
-  // Storage". Mathematics of Computation 35 (151): 773–782.
+  // Storage". Mathematics of Computation 35 (151): 773-782.
   //
   // Byrd, R. H.; Nocedal, J.; Schnabel, R. B. (1994).
   // "Representations of Quasi-Newton Matrices and their use in
   // Limited Memory Methods". Mathematical Programming 63 (4):
-  // 129–156.
+  // 129-156.
   //
   // A general reference for both methods:
   //
diff --git a/internal/ceres/jet_test.cc b/internal/ceres/jet_test.cc
index 6ae6ef7..10fd8b8 100644
--- a/internal/ceres/jet_test.cc
+++ b/internal/ceres/jet_test.cc
@@ -88,7 +88,7 @@
   const double exact_dx = exact_delta.v[0];
   const double exact_dy = exact_delta.v[1];
 
-  // Sanity check – these should be equivalent:
+  // Sanity check - these should be equivalent:
   EXPECT_EQ(exact_dx, f(MakeJet(x, 1.0, 0.0), MakeJet(y, 0.0, 0.0)).v[0]);
   EXPECT_EQ(exact_dx, f(MakeJet(x, 0.0, 1.0), MakeJet(y, 0.0, 0.0)).v[1]);
   EXPECT_EQ(exact_dy, f(MakeJet(x, 0.0, 0.0), MakeJet(y, 1.0, 0.0)).v[0]);
diff --git a/internal/ceres/low_rank_inverse_hessian.h b/internal/ceres/low_rank_inverse_hessian.h
index 2c768c2..0ee80d0 100644
--- a/internal/ceres/low_rank_inverse_hessian.h
+++ b/internal/ceres/low_rank_inverse_hessian.h
@@ -54,7 +54,7 @@
 // enhanced with scaling rule by Byrd, Nocedal and Schanbel.
 //
 // Nocedal, J. (1980). "Updating Quasi-Newton Matrices with Limited
-// Storage". Mathematics of Computation 35 (151): 773–782.
+// Storage". Mathematics of Computation 35 (151): 773-782.
 //
 // Byrd, R. H.; Nocedal, J.; Schnabel, R. B. (1994).
 // "Representations of Quasi-Newton Matrices and their use in
